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 の場合、OS のデフォルトの動作が使用されます。

デフォルトの動作は、localhost でホストする可能性があります。ホストを に設定し"0.0.0.0"て、localhost 以外の接続を許可してみてください。

于 2013-09-18T20:59:20.863 に答える