我用Python创建了一个非常简单的tcp服务器。我连接,然后服务器等待从客户端发送数据,然后客户端等待将数据发送回。每个人都在等待时,他们无法发送数据。因此,一侧无法背对背发送两条消息。我希望双方都可以收听并且仍然可以随时发送。我该如何处理? 服务器代码:
socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.bind((ipAddr, port))
print('Server starting on ' + ipAddr + ':' + str(port))
socket.listen(10)
print('Waiting for connection...')
c, addr = socket.accept()
print('Connection recieved from ' + str(addr))
while True:
try:
buf = c.recv(1024)
if buf == 'stop':
break
elif len(buf) > 0:
print(buf)
response = input('>')
c.sendall(str.encode(str(response)))
except:
print('Error')
break
socket.close()
我希望能够从服务器向客户端发送回退消息,同时仍在侦听客户端的响应
答案 0 :(得分:0)
为True时: #receiving
client,add=server.accept()
data = client.recv(1024)
str = data.decode('ascii')
print("client is saying: ",str)
#sending
msg = input("server:")
a= msg.encode('ascii')
client.send(a)