0

我正在制作一个在它们之间发送和接收数据的服务器/客户端程序。该程序在模拟器上运行良好,但是在通过 WIFI 在真正的 android 设备上测试时,它无法连接到服务器。

服务器端

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

客户端

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

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

4

4 回答 4

0

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

在客户端尝试以下代码:

Socket socket = new Socket (InetAddress.getByName ("192.168.1.2"), 44444);
于 2013-04-09T13:35:18.950 回答
0

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

于 2013-04-09T15:05:52.503 回答
0

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

第 1 步:打开 CMD(管理员权限)并运行以下命令 netsh wlan hostsnetwork mode=allow ssid=NAME key=PASSWORD

这将使 wifi ,一个热点现在运行这个来启动 wifi 热点: netsh wlan start hostsnetwork

并停止热点运行此命令:netsh wlan stop hostsnetwork

于 2013-09-06T18:23:56.347 回答
-1

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

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

于 2013-04-09T13:32:40.810 回答