我有一个 tcp 服务器和一个用 python 编写的客户端。这些程序的目的是服务器将一个接一个地发送一些数字给客户端,客户端应该在一个单独的线程中处理每个数字。 服务器遍历号码列表并将它们中的每一个发送给客户端。 作为:
for num in nums:
client_sock.send(str(num))
客户端循环为:
while True:
data = tcpClientSock.recv(BUFSIZE)
thread.start_new_thread( startFunction, (data, ) )
问题是即使服务器在单独的 send() 调用中发送程序,客户端也会一次接收到它。
如何避免?在这种情况下我应该使用 UDP 而不是 TCP 吗?
最佳答案
你必须刷新发送端的套接字——为此添加一个 CR/NL(因为你要发送一个字符串)
关于Python TCP编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29974830/