首页 > 编程知识 正文

安卓串口通信,串口转wifi组网

时间:2023-05-05 15:45:38 阅读:141912 作者:2390

1 .背景

本身为了实现简单的物联网APP,硬件设备打开局域网wifi,手机连接wifi后进行TCP通信,这种简单的APP应用遇到了漏洞,在此记录;

2 .问题

测试硬件设备的串行WIFI功能时出现不可思议的现象。 在上图中,设备以AP模式打开WIFI,客户端设备在断开其他网络通道的连接后连接到此WIFI。 结果,除了PC端连接正常外,移动设备(ios和Android )的TCP连接失败,ios端现在可以ping 192.192.192

要检查套接字连接错误日志,请执行以下步骤:

jva.net.connect exception : failedtoconnectto/192.168.8.0 (port 8080 ) from/: ) port0) at Java.net.plainsocketimpl.socket connect (plainsocketimpl.Java :142 ) )。 at Java.net.abstractplainsocketimpl.do connect (abstractplainsocketimpl.Java :390 ) )。 at Java.net.abstractplainsocketimpl.connect to address (abstractplainsocketimpl.Java 3:230 ) )。 at Java.net.abstractplainsocketimpl.connect (abstractplainsocketimpl.Java 3:212 ) at Java.net.socksocketimpl.cabstimpl 360621 ) atJava.net.socket.connect ) socket.Java3360570 ) atJava.net.connect ) atJava.net.connect ) rswifitest.TCPclient.run ) TCP client.Java 3333 at Java.util.concurrent.thread pool executor.run worker (thread pol exer ) at Java.util.concurrent.thread pool executor $ worker.run (thread pool executor.Java 3360641 ) atJava.lang.Thread.Thread caused by : Android.system.errno exception : connect failed : enetunreach (networkisunreachable ) atlibcore.io.lio (forwardingOS.Java:95 ) atlibcore.io.blockguardos.connect ) blockguardos atlibcore.io.forwarding OS.connect ge.connecterrno ) ) io bridge.Java atlibcore.io.io bridge.connect (io bridge.Java :135 ) . 13 moreconnectfailed 3366013

如果局域网中的每个客户端尝试通过上述连接进行通信,则:

由于缺乏网络知识,经过几天的无大脑尝试(更换测试工具、更换测试手机品牌、客户端配置固定IP、网关配置、DNS配置、联系串行wifi供应商等) !

改为:

服务器IP: 192.168.8.0 修改为 192.168.8.1

3 .原因大概是192.168.8.0/24和192.168.8.255/24这两个地址比较特殊,百度一个是域名一个是广播地址,这两个地址是192.168

但是,如果不在一个网段,为什么PC端能连接呢?

如果有伟人的指导理由的话请进行指导! 感谢不尽。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。