2

我已经启动了一个简单的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 上,我没有遇到套接字问题。

4

1 回答 1

2

socket 的文档中

如果提供,source_address 必须是 2 元组(主机、端口),以便套接字在连接之前绑定到其源地址。如果主机或端口分别为 '' 或 0,则将使用操作系统默认行为。

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

于 2013-09-18T20:59:20.863 回答