用多線程編程聊天程序

python-1802-和卓 15:12:36

1……

from threading import Thread

class SenderThread(Thread):? ?

? ? ? ? ? ? ? ? ? def__init__(self,socket,destaddress,d estport): ? ? ? ?

? Thread.__init__(self)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? self.socket = socket? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? self.dest_address = destaddress ? ? ? ? ? self.dest_port = destport ? ?

def run(self): ? ? ? ?

? ? while True: ? ? ? ? ? ? ?

? ? ? ? msg = input("我說:")? #鍵盤輸入? ? ? ? ? ? ? ? ? ? ? ? self.socket.sendto(msg.encode(),(self.dest_address,self.dest_port))

2……

from threading import

Thread class ReceiverThread(Thread): 接收線程 ? ? def __init__(self,socket):? ? ? ? ? ? ? Thread.__init__(self) ? ? ? ? self.socket = socket? ? ?

def run(self): ? ? ? ?

? ? while True: ? ? ? ? ? ?

? ? ? ? msg,addr = self.s.recvfrom(1024) ? ? ? ? ? ? ? print(addr,"說:",msg.decode())

3……

import socket

from chat_sender import SenderThread

from chat_receiver import ReceiverThread

s = socket.socket(type=socket.SOCK_DGRAM)? #實例化支持UDP協(xié)議的socket對象 s.bind(("localhost",8888)) SenderThread(socket,"localhost",6666).start() #啟動發(fā)送線程 ReceiverThread(s).start() #啟動接收線程

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容