threading:多執行緒模組,實現同時接收,同時傳送
本地機器兩個命令視窗不同埠號執行,實際使用可在區域網內電腦執行
#接受資訊函式
def rec(upd):
while true:
#接收訊息,最多為1024位元組
data = upd.recvfrom(1024)
#data為乙個元組,info為資訊內容,frm為傳送者ip和埠號
info, frm = data
#設定編碼格式
info = info.decode("utf-8")
print("收到來自"+str(frm)+'的訊息:'+info)
#傳送資訊函式
def send(udp,dest_ip,dest_port):
while true:
data = input("請輸入要傳送的資料:")
#傳送訊息
udp.sendto(data.encode("utf-8"), (dest_ip, dest_port))
def main():
#建立套接字
udp = socket.socket(socket.af_inet,socket.sock_dgram)
#設定固定埠
port_self = int(input("請輸入本地埠號"))
udp.bind(("",port_self))
dest_ip = input("請輸入對方ip:")
dest_port = int(input("請輸入埠號"))
#建立接收程序
t1 = threading.thread(target=rec, args=(udp,))
#建立傳送程序
t2 = threading.thread(target=send, args=(udp, dest_ip, dest_port))
#開始接收程序
t1.start()
#開始傳送程序
t2.start()
if __name__ == '__main__':
main()
基於C 的區域網聊天系統客戶
chat client.h created on 2012 4 19 author root ifndef chat client h define chat client h include include include include include include include using...
區域網聊天專案 2018 07 28
伺服器能開啟的最多檔案描述符是有限的 1024 socket的連包問題。客戶端和伺服器端進行互動。傳送端的連包問題。json包,如果兩個json包連在一起,則解析的時候只能解析第乙個包,壓根就不知道第二個json包的存在。在每乙個json包裡加乙個size選項,邊界也要加上。滑動視窗協議 1bit滑...
Qt編寫的區域網聊天程式
這個程式足足用了乙個月的時間,也怪小生內功不強,但此番修煉著實受益良多。整體程式不建議大家觀摩,主要是太亂了。在這裡我會將其中的幾個重要部分剝離出來和大家分享。該程式介面靈感 於網路,小生不才,又加了一部分自己的愚見,還望源作者能夠原諒。此程式借鑑了江湖上的各位大俠的秘籍和高招,既然 於江湖,就回歸...