我有一个运行client.py的android手机和在我的计算机上运行的server.py.我的计算机的IP设置为192.168.16.7(运行ubuntu 13.04。在网络管理器中运行),我的手机的IP设置为192.168.16.9。我使用手机创建了一个wifi热点,并将我的计算机连接到它。这是我的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时,它告诉我网络无法访问。我该如何解决?
答案 0 :(得分: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',端口))
客户端应连接到同一地址。