Python socket.error:[Errno 32]管道损坏

时间:2017-09-02 13:48:21

标签: python sockets server port host

我在我的vps上创建了一个python监听器(服务器) 但是当我给服务器和客户端提供vps和端口8585的ip addreess时 此错误显示: 错误: socket.error: [Errno 32] Broken pipe 我在vps中使用python版本2 我在我的电脑上使用python版本3

我的服务器代码:

import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ip = raw_input("ip : ")
ip = str(ip)
port = raw_input("port : ")
port = int(port)
s.bind((ip,port))
s.listen(5)
while True:
    c, addr = s.accept()
    s.send("welcome !")
    print (addr, "connected.")`

客户:

import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
HOST = input("HOST : ")
HOST = str(HOST)
PORT = input("PORT : ")
PORT = int(PORT)
s.connect((HOST,PORT))
buff = 1024
data = s.recv(buff)
print(data)`

1 个答案:

答案 0 :(得分:1)

在您拥有的服务器中:

c, addr = s.accept()
s.send("welcome !")

您必须在连接的套接字上执行send而不是在侦听器套接字上,即它应该是c.send而不是s.send