这是客户机代码,它作为客户机的工作很好,但当我出来时,它会给我显示一个错误
这是密码
import socket
import threading
tLock = threading.Lock()
shutdown = False
def receving(name, sock):
while not shutdown:
try:
tLock.acquire()
while True:
data, addr = sock.recvfrom(1024)
print (str(data))
except:
pass
finally:
tLock.release()
host = '127.0.0.1'
port = 0
server = ('127.0.0.1',5000)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((host, port))
s.setblocking(0)
rT = threading.Thread(target=receving, args=("RecvThread",s))
rT.start()
alias = input("Name: ")
message = input(alias + "-> ")
while message != 'q':
if message != '':
s.sendto(bytes(alias + ": " + message,"utf8"), server)
tLock.acquire()
message = input(alias + "-> ")
tLock.release()
shudown = True
rT.join()
s.close()
当我在shell中插入一个q时,它会停止shell,但是客户机正在运行,不知道为什么
这是我按ctrl+c时显示的内容
^{pr2}$怎么解决这个问题请有人
目前没有回答
相关问题 更多 >
编程相关推荐