3

私のコンピューターで実行されているclient.pyとserver.pyを実行しているAndroidフォンがあります。私のコンピューターのIPは192.168.16.7に設定されており(ubuntu 13.04を実行しています。ネットワークマネージャーで実行しました)、私の電話のIPは192.168.16.9に設定されています。携帯電話を使用して Wi-Fi ホットスポットを作成し、コンピューターをテザリングしました。これは私のserver.pyです:

import socket
s=socket.socket()
port=12345
s.bind(("192.168.16.7",port))
s.listen(5)
while True:
  c,addr=s.accept()
  print "got connection from ",addr
  c.send('Thankyou for connecting')
  c.close()

そして私の client.py は次のとおりです。

import socket
port=12345
s=socket.socket()
s.connect(("192.168.16.7",port))
s.send("Hello world")
s.close

server.py は私のコンピューターで実行され、client.py は私の電話で実行されます。しかし、電話で client.py を実行しようとすると、ネットワークに到達できないことがわかります。これを修正するにはどうすればよいですか?

4

1 に答える 1

2

修正しました。問題は、電話機に設定された静的 IP にありました。Androidフォンの静的IPを192.168.16.9に設定しましたが、そうではありませんでした. これを確認するには、sl4a->view->interpreter->shell に移動し、「netcfg」と入力して Enter キーを押します。表示されるさまざまなものの中で、「wlan0」に対応して書き込まれた ip が 192.168.43.1 であることがわかりました。そこで、電話の静的 IP を上記の IP に設定し、コンピュータの IP を 192.168.43.8 に変更しました。したがって、サーバーは s.bind(('192.168.43.8',port)) にバインドする必要があります

クライアントは同じアドレスに接続する必要があります。

于 2013-09-05T21:00:18.203 に答える