pythonマルチスレッドUDPチャットの実装
コード:
このコードにも「マルチスレッドがwhile Trueに遭遇する」という処理案が現れています.1つのスレッドの中でwhile Trueを1つのスレッドの中で死のサイクルをして、命のサイクルを游んで、ここにカードをかけて、1つのスレッドはずっとこの内容を実行して、他のスレッドの運行に影響していません.私はこれまでこのことを理解していませんでしたが、今は理解したいと思っています.
import socket
import threading
def udpSend(udp_s,ip,port):
while True:
sendCont = input(' :')
udp_s.sendto(sendCont.encode(),(ip,port))
def udpRecv(udp_s):
while True:
recvCont = udp_s.recvfrom(1024)
print(' :',recvCont)
def main():
udp_s = socket.socket(family=socket.AF_INET,type=socket.SOCK_DGRAM)
udp_s.bind(('',7890))
ip = '192.168.137.100'
port = 8080
threadRecv = threading.Thread(target=udpRecv,args=(udp_s,))
threadSend = threading.Thread(target=udpSend,args=(udp_s,ip,port))
threadSend.start()
threadRecv.start()
threadSend.join()
threadRecv.join()
udp_s.close()
#udp_s.sendto()
if __name__ == '__main__':
main()
このコードにも「マルチスレッドがwhile Trueに遭遇する」という処理案が現れています.1つのスレッドの中でwhile Trueを1つのスレッドの中で死のサイクルをして、命のサイクルを游んで、ここにカードをかけて、1つのスレッドはずっとこの内容を実行して、他のスレッドの運行に影響していません.私はこれまでこのことを理解していませんでしたが、今は理解したいと思っています.