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

时间:2013-04-09 13:29:34

标签: java android sockets client-server wifi

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

服务器端

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

客户端

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

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

4 个答案:

答案 0 :(得分:0)

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

在客户端尝试以下代码:

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

android设备无法检测到ad-hoc网络的Windows 你必须首先通过这样做来制作你的PC热点:

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

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

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

答案 3 :(得分:-1)

问题在于您的网络。 请确保真正的Android设备和您的服务器(192.168.1.2)位于同一网络中。

如果它们只在同一个网络中,那么您可以从客户端

与服务器通信