Pythonによるマルチスレッドチャット機能
2794 ワード
Pythonネットワークプログラミングについて、マルチスレッド、ソケットなどを利用して、マルチスレッドチャット機能を実現し、いつでも送信、受信、ネットワークデバッグアシスタントを利用してローカルテストを行うことができると書いた.ソースコードは次のとおりです.
主に利用する方法は,ソケットの作成,マルチスレッド同時制御,ポート番号バインド,メッセージの受信,送信である.
#-*- coding:utf-8 -*-
from threading import Thread
from socket import *
#1.
def recvDate():
while True:
recvInfo = udpSocket.recvfrom(1024)
print("\r
>>%s:%s"%(str(recvInfo[1]),recvInfo[0].decode("gb2312")))
print("<)
#2.
def sendDate():
while True:
sendInfo = input("<)
udpSocket.sendto(sendInfo.encode("gb2312"),(destIp,destPort))
udpSocket = None
destIp = ""
destPort = 0
def main():
# global
global udpSocket
global destIp
global destPort
udpSocket = socket(AF_INET, SOCK_DGRAM)
destIp = input(" ip:")
destPort = int(input(" :"))
localPort = int(input(" :"))
udpSocket.bind(("",localPort)) #
re = Thread(target = recvDate) # 1
rh = Thread(target = sendDate) # 2
re.start()
rh.start()
re.join() #
rh.join()
if __name__ == "__main__":
main()
主に利用する方法は,ソケットの作成,マルチスレッド同時制御,ポート番号バインド,メッセージの受信,送信である.