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 失败

GO语言网络编程

从android与socket.io通信

我们可以像在 android 中一样在 windows 中创建 XMPP 聊天客户端代码吗?

Android 基于UDP的Socket通信