我的 TCP 通信应用程序有一个非常奇怪的问题。我很久以前就做到了,我从来没有遇到任何问题。这是一个简单的通过 TCP 套接字发送和接收数据包。
但是不知道怎么回事,这周我在三星 Galaxy S5 上运行,并没有成功与服务器建立连接。
serverSocket.connect(new InetSocketAddress(mServerIPV6.getHostAddress(), Network.COMMUNICATION_PORT), (int) (3 * DateUtils.SECOND_IN_MILLIS));
总是返回:
java.net.SocketTimeoutException: failed to connect to /fe80::d6ae:5ff:fe43:c6e9%wlan0%23 (port 60001) after 3000ms
但最疯狂的是,它通过网络服务发现(UDP)成功找到了服务器的IP地址。所以问题不是来自 Wi-Fi 网络,它只发生在这个设备 (Samsung S5) 上。很奇怪。任何想法?