udp實現簡單的多人聊天功能

2021-10-10 15:54:01 字數 1660 閱讀 9717

多個客戶端向伺服器傳送資訊,服務端再將資訊返回到各個客戶端。

這是接收udp的實現類:

public class rec implements runnable

@override

public void run() catch (ioexception e)

//獲得訊息

string info = new string(pac.getdata(),0,pac.getlength());

//獲得ip位址

string ip = pac.getaddress().gethostaddress();

string port = pac.getport()+"";

string name = info.substring(0, info.lastindexof(":"));

if(!name.equals(thread.currentthread().getname()))}}

}

這是傳送udp的實現類:

public class send implements runnable 

@override

public void run() catch (unknownhostexception e)

while(true)

} catch (ioexception e) }}

}

服務端:我是模擬的本地多使用者,埠號不能重複所以設定了6001-6005,線上只需同一接收udp埠號即可。

public class servercilent 

}if(index>0)

//取出資料

獲取傳送資料的位元組陣列,dp.getlength()獲取傳送內容的長度

string info = new string(dp.getdata(), 0, dp.getlength());

system.out.println("客戶端傳送來的資訊:" + info);

//--------------------伺服器**--------------------------//

string content=info.substring(info.lastindexof(":")+1);

if (content.equals("886"))

//建立資料報 並**資訊

byte bs1 = info.getbytes();

for (string s1 : addresslist) }}

}}

客戶端測試:

UDP多人聊天室

多人聊天室 chat room 客戶端功能 傳送請求,獲取結果 from socket import from multiprocessing import process import sys 伺服器位址 addr 127.0.0.1 8888 接收訊息 def recv msg s while ...

php聊天功能 php實現簡單聊天功能

php實現簡單聊天功能 1 建立聊天訊息表,其表的字段有訊息內容,傳送時間和傳送者的名稱 sql create table guanhui message id int 10 not null auto increment comment 訊息id content varchar 255 not n...

python socket 簡單實現聊天功能

今天看了下python的socket,想實現下兩台電腦的聊天功能 覺得這樣好像自己寫出個簡易版qq沒問題了 於是動手開始實現。首先是伺服器端 from socket import from time import ctime host port 80 埠號,伺服器與客戶端要一致 bufsiz 102...