基於python的簡易區域網聊天工具

2021-10-25 08:04:05 字數 1205 閱讀 4289

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編寫的區域網聊天程式

這個程式足足用了乙個月的時間,也怪小生內功不強,但此番修煉著實受益良多。整體程式不建議大家觀摩,主要是太亂了。在這裡我會將其中的幾個重要部分剝離出來和大家分享。該程式介面靈感 於網路,小生不才,又加了一部分自己的愚見,還望源作者能夠原諒。此程式借鑑了江湖上的各位大俠的秘籍和高招,既然 於江湖,就回歸...