android和计算机sl4a之间的套接字通信

时间:2013-09-05 19:56:19

标签: android python sockets sl4a

我有一个运行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时,它告诉我网络无法访问。我该如何解决?

1 个答案:

答案 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',端口))

客户端应连接到同一地址。