資源簡介
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個文件信息
- 上一篇:可聯機的圍棋對弈小程序
- 下一篇:基于Java的學生考勤管理系統
評論
共有 條評論