Socket 错误:由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。

今晚在学习Socket编程的时候,遇到了一个错误。在服务端接受数据的时候总是出现一个错误:OSError: [WinError 10057] 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。

解决方案:

conn, addr = s.accept()
print('Connected with ' + addr[0] + ':' + str(addr[1]))
#接受数据
data = s.recv(4096)
print(data)

s是指Socket,在接受数据是,我们应该用s.accept返回的conn来接受数据。

data = s.recv(4096)这个应该改为:
data = conn.recv(4096)

你可能感兴趣的:(python,socket,http,经验分享)