为什么我只能通过socket连接到自己? (蟒蛇)

时间:2015-01-14 10:11:42

标签: python sockets client server

我尝试制作简单的客户端 - 服务器程序但它只在我在同一台计算机上运行这两个脚本时,将它移动到其他计算机时才起作用 - 它不会在所有

服务器:

__author__ = 'user-pc'
import socket               # Import socket module

s = socket.socket()         # Create a socket object
host="0.0.0.0"              # Bind with everyone
port = 13254                # Reserve a port for your service.
s.bind((host, port))        # Bind to the port

s.listen(5)                 # Now wait for client connection.
while True:
   c, addr = s.accept()     # Establish connection with client.
   print 'Got connection from', addr
   c.send('Thank you for connecting')
   c.close()                # Close the connection

客户端:

__author__ = 'user-pc'
import socket               # Import socket module

s = socket.socket()         # Create a socket object
host = "192.168.10.4"       # Server Ip
port = 13254                # Reserve a port for your service.

s.connect((host, port))
print s.recv(1024)
s.close                     # Close the socket when done

你能帮我解决一下这个问题吗? 感谢。

1 个答案:

答案 0 :(得分:0)

当您在服务器上运行这两个脚本时它很有用,很可能您的端口已关闭。

验证您的端口是否已打开。转到此网站:http://www.canyouseeme.org/

输入您的端口和IP。您的端口很可能已关闭。这将验证。假设您的端口已打开,您需要查看上面评论中dmg推荐的防火墙设置。然后,它不再是python问题!