资源简介
基于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
相关资源
- Android Socket和串口编程实践TCPUDP串口集
- Java P2P聊天服务端源码
- java实现基于UDP协议的简单聊天室,带
- Java基于UDP传输协议的简单聊天室
- Java,使用UDP协议实现CS通信
- SensorUdp app for android 用Matlab采集手机传
- Java UDP打洞、 穿透NAT,P2P通信成功源
- 基于UDP的P2P简易聊天室
- Java P2P聊天程序附带文档
- (java)基于UDP的聊天程序
- 编程实现基于UDP的pingjava.
- Java中基于UDP的图像传输与显示(Swi
- UDP校验和计算工具
- 安卓TCP/UDP网络调试软件
- 带有界面的基于UDP通信的多人聊天代
- 基于UDP的考试系统(完整)
- 计算机网络课设利用UDP实现聊天系统
- 基于TCP、UDP的聊天室
- C/S结构的java聊天室源代码
- Java UDP打洞技术,UDP 穿透NAT,P2P打洞
- java UDP的一个封装
- 用java写的tcp数据包发送和接收代码
- java 通过UDP实现一对多聊天室
- java基于udp的聊天服务端
- JAVA课程设计,UDP 基于组播的聊天程序
- java 用udp,tcp协议实现的局域网聊天程
- 基于java socket使用tcp udp进行简易控制
- Java UDP 实现简单聊天功能
- UDP协议实现对等通讯Java+RSA加密解密传
- 安卓手机评分打分软件可用于UDP、多
评论
共有 条评论