检查后发现,s虽然是服务器对应的socket套接字,但其实际上没有connect任何的端,因而使用s.recv就会出现错误,因为服务器的套接字对象只是listen了指定端口,而连接上可以供使用的套接字是s.accept()以后返回的套接字,这是连接到服务器指定端口的套接字,因而可以用以通信,所以只要将后来的代码如:
s.recv(2048)
s.sendall(data)
修改成
clientSock.recv(2048)
clientSock.sendall(data)
注意clientSock获取的地方