我在我的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)`
答案 0 :(得分:1)
在您拥有的服务器中:
c, addr = s.accept() s.send("welcome !")
您必须在连接的套接字上执行send
而不是在侦听器套接字上,即它应该是c.send
而不是s.send
。