【问题标题】:Server/Client Android program doesn't work on real android device服务器/客户端 Android 程序无法在真正的 Android 设备上运行
【发布时间】:2013-04-09 13:29:34
【问题描述】:

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

服务器端

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

客户端

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

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

【问题讨论】:

  • 你有错误信息吗?
  • 不。程序正常打开但无法连接。
  • 是的,但你调试了吗?您必须在某处有某种堆栈跟踪...
  • 您是否在 Android 中将权限设置为允许使用互联网? stackoverflow.com/questions/2378607/…
  • 是的,它在模拟器上运行良好,但在真实设备上却不行!

标签: java android sockets client-server wifi


【解决方案1】:

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

在客户端尝试以下代码:

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

【讨论】:

  • 错误:构造函数 Socket(InetAddress[], int) 未定义!
  • 您确定将getAllByName 更改为getByName?请参阅我帖子中的链接。它表明Socket(InetAddress, int) 是从 API 级别 1 开始定义和记录的。
  • 是的,我做到了,我现在的代码是:Socket socket = new Socket(InetAddress.getByName("192.168.1.2"), 44444);
  • 和错误是一样的吗?错误日志是否在同一个地方显示错误?您是否将我的代码粘贴到多个文件中?粘贴新错误。
  • 没有错误。服务器仍在运行,客户端仍在运行,但是当我尝试连接时没有任何反应
【解决方案2】:

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

【讨论】:

  • 如何确保服务器对智能手机可见?
  • 如果你有电脑,你可以将它连接到 WIFI(与你的智能手机相同),然后使用 tcp 客户端你可以尝试连接到你的服务器。
【解决方案3】:

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

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

这将使 wifi 成为热点 现在运行这个来启动wifi热点: netsh wlan 启动托管网络

并停止热点运行此命令: netsh wlan 停止托管网络

【讨论】:

    【解决方案4】:

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

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

    【讨论】:

    • 尝试从 android play store 安装 Ping 应用,并确保您能够从您的设备play.google.com/store/apps/… 与端口 44444 通信
    • 我认为您的端口 44444 未对设备开放。
    • 在应用程序主页的微调器中有一个名为“检查端口范围”的选项。选择它并提供您要检查的端口号。
    • 当我检查端口 44444 是否打开时,它连接上它并告诉我它已打开但程序仍然无法连接到服务器!
    猜你喜欢
    • 2016-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 2013-11-15
    • 1970-01-01
    • 2011-09-16
    相关资源
    最近更新 更多