繁体   English   中英

服务器/客户端Android程序无法在真正的android设备上运行

[英]Server/Client Android program doesn't work on real android device

我正在制作一个在它们之间发送和接收数据的服务器/客户端程序。 该程序可以在模拟器上完美运行,但是当通过WIFI在真实的android设备上对其进行测试时,它无法连接至服务器。

服务器端

ServerSocket serverSocket = new ServerSocket(44444);
Socket clientSocket = serverSocket.accept();

客户端

Socket socket = new Socket("192.168.1.2", 44444);

问题不在于发送数据,而在于连接建立。 那部Android手机看不到服务器端!

您正在使用构造函数,该构造函数需要一个字符串hostname 但是,您正在提供一个互联网地址。 你必须使用另一个构造函数 ,它接受一个地址作为参数。

在客户端尝试以下代码:

Socket socket = new Socket (InetAddress.getByName ("192.168.1.2"), 44444);

您确定服务器对智能手机可用吗?...您可以尝试将PC连接到WIFI并使用telnet ip端口并验证是否可以访问服务器。

android设备无法检测到Windows的ad-hoc网络,您必须首先通过以下操作使PC成为热点:

步骤1:打开CMD(具有管理员特权),然后运行以下命令netsh wlan hostednetwork mode = allow ssid = NAME key = PASSWORD

这将使wifi成为热点,现在运行一个热点以启动wifi热点:netsh wlan start hostednetwork

并停止热点运行以下命令:netsh wlan stop hostednetwork

问题出在您的网络中。 请确保真实的android设备和您的服务器( 192.168.1.2 )在同一网络中。

如果仅在同一网络中,则可以从客户端与服务器通信

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM