• 大小: 29KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Java
  • 标签: UDP  java课设  私聊  

资源简介

java课程设计,基于UDP协议的局域网聊天程序,可以实现多人聊天,一对一私聊等功能,有重复用户名检测功能。有用户列表,上下线提醒,在线人数显示等。

资源截图

代码片段和文件信息

import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;

//通过接收多播消息获取多播组的用户IP列表
public class BroadcastIP_rece_Thread extends Thread {
public M_system system;
boolean userState;
int time=0;

public BroadcastIP_rece_Thread(M_system system) {
this.system = system;
}

@SuppressWarnings({ “unchecked“ “resource“ })
public void run() {
try {
MulticastSocket multicastSocket = new MulticastSocket(7777);
InetAddress inetAddress = InetAddress.getByName(M_system.broadcastIP);
multicastSocket.joinGroup(inetAddress);
byte[] receive_Ip_User = new byte[200];
system.getAddress();
while (true) {
// 接收到的数据报包也包含发送方的 IP地址和用户名
DatagramPacket datagramPacket = new DatagramPacket(receive_Ip_User receive_Ip_User.length inetAddress
7777);
multicastSocket.receive(datagramPacket);

String ip_user = new String(datagramPacket.getData() 0 datagramPacket.getLength() “UTF-8“); // 提取为String

if (ip_user.charAt(0) == ‘F‘) {
userState=false;
ip_user = ip_user.substring(1);
if ((system.clients.contains(ip_user))) {
system.clients.remove(ip_user);
system.showUserState(ip_useruserState); // 提示用户下线
}
}
else if (!system.clients.contains(ip_user)) {
system.clients.add(ip_user);
userState=true;
system.showUserState(ip_useruserState); // 提示新用户上线
}

//每隔一段时间刷新一次列表
if (time>100||time==0) {
system.List_repaint();
time=0;
}
time++;

sleep(5); //线程休眠5ms
}
} catch (Exception exception) {
exception.printStackTrace();
}
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        301  2012-06-24 14:41  Chatp2p_2.7\.classpath

     文件        379  2012-06-24 14:41  Chatp2p_2.7\.project

     文件        108  2012-06-24 18:14  Chatp2p_2.7\.settings\org.eclipse.core.resources.prefs

     文件        629  2012-06-24 14:41  Chatp2p_2.7\.settings\org.eclipse.jdt.core.prefs

     文件       2100  2018-12-28 12:57  Chatp2p_2.7\bin\BroadcastIP_rece_Thread.class

     文件        959  2018-12-28 13:18  Chatp2p_2.7\bin\BroadcastIP_Thread$1.class

     文件       2164  2018-12-28 13:18  Chatp2p_2.7\bin\BroadcastIP_Thread.class

     文件       5561  2018-12-28 12:34  Chatp2p_2.7\bin\Main_window.class

     文件        441  2018-12-28 12:34  Chatp2p_2.7\bin\Multicast_Chat_Launcher.class

     文件       1909  2018-12-28 12:34  Chatp2p_2.7\bin\Multicast_Thread.class

     文件        977  2018-12-28 13:23  Chatp2p_2.7\bin\M_system$1.class

     文件       9051  2018-12-28 13:23  Chatp2p_2.7\bin\M_system.class

     文件       1682  2018-12-28 12:34  Chatp2p_2.7\bin\pMsg_window.class

     文件       1741  2018-12-28 12:34  Chatp2p_2.7\bin\Receive_privatemsg.class

     文件       2042  2018-12-28 12:39  Chatp2p_2.7\bin\Receive_Thread.class

     文件       2016  2018-12-28 12:34  Chatp2p_2.7\bin\Set_window.class

     文件       1814  2018-12-28 12:57  Chatp2p_2.7\src\BroadcastIP_rece_Thread.java

     文件       1562  2018-12-28 13:18  Chatp2p_2.7\src\BroadcastIP_Thread.java

     文件       7159  2018-12-28 11:38  Chatp2p_2.7\src\Main_window.java

     文件        114  2018-12-25 19:56  Chatp2p_2.7\src\Multicast_Chat_Launcher.java

     文件       1169  2018-12-27 21:44  Chatp2p_2.7\src\Multicast_Thread.java

     文件      10001  2018-12-28 13:23  Chatp2p_2.7\src\M_system.java

     文件       2120  2018-12-28 09:59  Chatp2p_2.7\src\pMsg_window.java

     文件        921  2018-12-28 09:36  Chatp2p_2.7\src\Receive_privatemsg.java

     文件       1257  2018-12-28 12:39  Chatp2p_2.7\src\Receive_Thread.java

     文件       2070  2018-12-27 16:04  Chatp2p_2.7\src\Set_window.java

     目录          0  2018-12-28 13:24  Chatp2p_2.7\.settings

     目录          0  2018-12-28 13:24  Chatp2p_2.7\bin

     目录          0  2018-12-28 13:24  Chatp2p_2.7\src

     目录          0  2018-12-28 13:24  Chatp2p_2.7

............此处省略3个文件信息

评论

共有 条评论