首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图在两个Android手机之间设置服务器/客户端,其中一个作为Wifi AP,另一个连接到它

试图在两个Android手机之间设置服务器/客户端,其中一个作为Wifi AP,另一个连接到它
EN

Stack Overflow用户
提问于 2012-02-12 16:24:15
回答 1查看 1.7K关注 0票数 0

我有两部电话:A和B。A充当Wifi AP;B连接A的wifi网络。现在,我想让A充当服务器,B充当客户端。下面是我的代码要点:

A执行以下操作(当然是用自己的线程包装并尝试/catch语句)

代码语言:javascript
复制
ServerSocket server = new ServerSocket(SERVERPORT);
Socket client = server.accept();

然后B就会

代码语言:javascript
复制
Socket socket = new Socket(SERVERIP, SERVERPORT);

当A激活它的Wifi AP时,SERVERIP总是一样的,所以我现在已经对它进行了硬编码。(我已经验证了几种不同的方法。)

当B试图连接时,我得到以下异常:

代码语言:javascript
复制
java.net.ConnectException: /192.168.43.1:29288 - Network is unreachable
    at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:207)
    at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
    at java.net.Socket.startupSocket(Socket.java:705)
    at java.net.Socket.<init>(Socket.java:263)
    at disaster.relief.DisasterReliefActivity$ClientThread.run(DisasterReliefActivity.java:288)
    at java.lang.Thread.run(Thread.java:1019)

当这两部手机在外部创建的wifi网络上时,我试着使用相同的代码,它运行得很好。知道为什么这不管用吗?

更新

我还尝试通过telnet从我的计算机(当它连接到Wifi网络时)连接到服务器,这是非常完美的,所以问题必须是当B实例化套接字时。我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2012-02-12 16:40:04

你能通过你的手机连接到另一个人的手机上上网吗?你应该激活你的服务器,只有当你的网络接口连接结束后,192.168.43.1才会在此之前被禁用。您可以尝试使用相同的技术,使用笔记本电脑或与wifi连接到您的手机,并在其上启用。您可以使用telnet检查端口是否可用并接受。您可能想读一下这个android open socket and send commands。我也会在1024-10000之间使用端口。但我想这取决于你。

希望它能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9250396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档