我对这些客户端和服务器代码有问题,我不断收到 [Errno 10061] 无法建立连接,因为目标机器主动拒绝它
我在装有 Windows XP SP3 的虚拟机上运行服务器,在 Windows 7 64 位上运行客户端,我的 python 版本是 2.7.3。我想知道的是我应该如何编辑代码以在不同网络上使用客户端和服务器!谢谢!
服务器 :
#!/usr/bin/python # This is server.py file
import socket # Import socket module
s = socket.socket() # Create a socket object
host = '0.0.0.0' # Get local machine name
port = 12345 # Reserve a port for your service.
print 'Server started!'
print 'Waiting for clients...'
s.bind((host, port)) # Bind to the port
s.listen(5) # Now wait for client connection.
c, addr = s.accept() # Establish connection with client.
print 'Got connection from', addr
while True:
msg = c.recv(1024)
print addr, ' >> ', msg
msg = raw_input('SERVER >> ')
c.send(msg);
#c.close() # Close the connection
客户 :
#!/usr/bin/python # This is client.py file
import socket # Import socket module
s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345 # Reserve a port for your service.
print 'Connecting to ', host, port
s.connect((host, port))
while True:
msg = raw_input('CLIENT >> ')
s.send(msg)
msg = s.recv(1024)
print 'SERVER >> ', msg
#s.close # Close the socket when done
PS:代码来自网络。
原文由 havox 发布,翻译遵循 CC BY-SA 4.0 许可协议
10061 是 WSAECONNREFUSED,“连接被拒绝”,这意味着在您尝试连接的 IP:port 上没有任何监听。
大约在 2000 年有一种防火墙产品发出拒绝而不是忽略到被阻止端口的传入连接,但这很快被识别为攻击者的信息泄漏并被纠正或撤回。