资源简介
基于Java udp协议实现的图形界面的多人聊天室
ps:客户端登陆是输入的用户名只能是两个字的姓名

代码片段和文件信息
package Chat;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Vector;
import javax.swing.Jframe;
import javax.swing.JTextArea;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JScrollPane;
/**
* ChatClient实现网络聊天室的客户端,功能是用户登陆后可以选择聊天对象进行聊天,也可以接收服务端的广播信息。
* @author 罗成东 201524132129
* Date:2018-6-9
* Copyright ©2018lcd.AllRight Reserved.
* @version 1.0
* @since JDK1.8
*/
public class ChatClient extends Jframe implements ActionListener {
private static final long serialVersionUID = 1L;
private Jframe frame;
private JTextField intputField = new JTextField();
private static JTextArea chatcontent = new JTextArea();
private JButton btnsend = new JButton(“发送“);
private JButton btnexit = new JButton(“退出“);
//构造一个Vector用于存储在线的用户
private static Vector v = new Vector();
private static JList user = new JList(v);
//得到一个1000-9999的随机数,用于客户端的端口号。
static int port = (int) (Math.random() * (9999 - 1000 + 1)) + 1000;
//用户的姓名
String username;
//标识发送登陆消息数据流的信息头
private static String load = “登陆“;
//标识发送聊天消息数据流的信息头
private static String message = “消息“;
//标识发送退出消息数据流的信息头
private static String exit = “退出“;
//标识发送私聊消息数据流的信息头
private static String special = “私聊“;
//接收登陆消息数据的开始标志
private static String head = “head“;
//接收登陆信息数据的结束标志
private static String tail = “tail“;
/**
* main方法的功能:应用程序的唯一入口
* @param args String命令行参数的数组
* @throws Exception
*/
public static void main(String[] args) throws Exception {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ChatClient window = new ChatClient();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
//接收客户端发送的信息
DatagramSocket ds = new DatagramSocket(port);
receive(ds);
}
/**
* ChatClient方法的功能:类的构造函数
* @throws Exception
*/
public ChatClient() throws Exception {
username = JOptionPane.showInputDialog(“输入用户名:“);
initialize();
//把登陆到本客户端的用户名和本客户端的端口号发送到服务端
Send((load + Integer.toString(port) + username).getBytes());
}
/**
* initialize方法的功能:应用程序的界面初始化和按钮的监听事件
*/
private void initialize() {
frame = new Jframe();
frame.settitle(username);
frame.setBounds(100 100 850 400);
frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
frame.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
try {
exitsystem();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12788 2018-06-11 14:34 聊天室\程序jar包\ChatClient.jar
文件 12788 2018-06-11 14:34 聊天室\程序jar包\ChatSever.jar
文件 458932 2018-06-11 12:14 聊天室\程序截图.docx
文件 8380 2018-06-11 08:08 聊天室\程序源代码\ChatClient.java
文件 8924 2018-06-11 08:10 聊天室\程序源代码\ChatServer.java
文件 85749 2018-06-11 14:30 聊天室\说明文档.docx
目录 0 2018-06-11 14:36 聊天室\程序jar包
目录 0 2018-06-11 11:23 聊天室\程序源代码
目录 0 2018-06-11 14:30 聊天室
----------- --------- ---------- ----- ----
587561 9
相关资源
- Java版聊天程序(UDP TCP 多线程)
- 计算机网络课程设计报告_DH算法_Wir
- socket编程实验报告
- Android源码简单实现手机与电脑的UDP通
- Java NetWork Programming 4th
- android UDP通信demo,仅文字
- udp通信源码,android即时通信简单代码
- android_udp服务端与客户端超简单通信
- AndroidStudio UDP测试程序
- pc端与android udp 通信
- UDP客户端demo
- Android 设备局域网内 一台做服务器一
- android实现局域网聊天 - UDP实现
- android之同一wifi下两台设备通过UDP进行
- UDP Server服务器端 Demo
- 网络应用程序大作业,使用tcp和udp完
- Android网络版五子棋
- MFC之UDP编程
- android局域网通信udp,tcp等
- arp发送和接收处理代码以及udp原始套
- 基于UDP聊天的java代码
- java使用udp协议和硬件进行数据收发处
- socket 基于udp 的双机通讯
- 基于UDP协议的数据包收发程序代码+报
- 可靠UDP传输(java)
- Android Socket和串口编程实践TCPUDP串口集
- Java P2P聊天服务端源码
- java实现基于UDP协议的简单聊天室,带
- Java基于UDP传输协议的简单聊天室
- Java,使用UDP协议实现CS通信
评论
共有 条评论