0
我有套接字编程的问题,并且花费很多时间来查找错误,但是没有找到。请有人帮助我。为什么在python中阻塞模式不会阻塞recv函数
Server代码:
import socket
server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server_socket.bind(("localhost",5001)
server_socket.listen(10)
client_socket, address = server_socket.accept()
server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server_socket.bind(("localhost",5001))
server_socket.listen(10)
client_socket, address = server_socket.accept()
while True:
temp = client_socket.recv(100)
print (len(temp))
print ("Recv isn't blocked")
client_socket.close()
客户端代码:
import socket
import io
client_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
client_socket.connect(("localhost",5001))
print("send data finised")
,当我运行程序,但客户端不发送任何内容的服务器,但的recv()在服务器仍然运行的功能,我不明白为什么,请帮助我。
非常感谢你!我解决了它:)。这里发生错误是因为我的客户端在服务器接收数据之前退出。 – nguyenngoc101 2012-07-30 09:25:49