android与电脑sl4a的socket通信
Posted
技术标签:
【中文标题】android与电脑sl4a的socket通信【英文标题】:Socket communication between android and computer sl4a 【发布时间】:2013-09-09 18:58:17 【问题描述】:我有一个运行 client.py 和 server.py 的 android 手机在我的计算机上运行。我的电脑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】:修复它。问题在于手机中设置的静态IP。即使我将安卓手机的静态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))
并且客户端应该连接到同一个地址。
【讨论】:
以上是关于android与电脑sl4a的socket通信的主要内容,如果未能解决你的问题,请参考以下文章
Android 应用程序开发上的 SL4A 与 Ruboto
使用 python 和 SL4A 初始化 android 网络摄像头时 setParameters 失败