Python无法连接到同一网络上的开放套接字

时间:2013-09-18 20:56:07

标签: python sockets

我已经启动了一个简单的python套接字,我可以从我的本地计算机上自由连接它,但是从iPad和另一台计算机上,我无法访问它!我做错了什么?这是我的代码:

from socket import socket

server = socket()
server.bind(("", 80))
server.listen(2)
message = """\
</pre><br><br><h1>Hi!</h1></body></html>
"""

while 1:
    c, a = server.accept()
    print "New connection from %s:%s"%tuple(a)
    c.sendall("<html><head><title>Hi!</title></head><body><pre>"+c.recv(4096*20)+message)
    c.close()

修改

顺便说一句,我使用的是Linux Fedora 18.在Windows上,我没有套接字问题。

1 个答案:

答案 0 :(得分:2)

docs on socket

  

如果提供,source_address必须是要连接的套接字的2元组(主机,端口)作为其源地址才能连接。 如果主机或端口分别为''或0,则将使用操作系统默认行为。

默认行为可能在localhost上托管。尝试将主机设置为"0.0.0.0"以允许在localhost之外进行连接。