我已经启动了一个简单的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 上,我没有遇到套接字问题。
最佳答案
在 docs on socket :
If supplied, source_address must be a 2-tuple (host, port) for the socket to bind to as its source address before connecting. If host or port are ‘’ or 0 respectively the OS default behavior will be used.
默认行为可能是在本地主机上托管。尝试将主机设置为“0.0.0.0”
以允许本地主机外部的连接。
关于Python无法连接到同一网络上的打开套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18882203/