(Java / Android)客户端套接字抛出IOException

残酷的

我正在尝试通过套接字连接2个Android设备,但为什么不起作用?我尝试用IP地址替换主机地址,但没有成功。

服务器端(扩展了AsyncTask):

ServerSocket server;
int port;
String hostName

server = new ServerSocket(0);
port = server.getLocalPort(); //is sent to client via OR code

for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
    NetworkInterface intf = en.nextElement();
    for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
        InetAddress inetAddress = enumIpAddr.nextElement();
        if (!inetAddress.isLoopbackAddress()) {
            hostName = inetAddress.getHostName(); //is sent to client via OR code
        }
    }
}

Socket client = server.accept();

客户端(扩展了AsyncTask):

SocketAddress socketAddress = new InetSocketAddress(serverHostName, serverPort);
client = new Socket();
client.bind(null);
client.connect(socketAddress, SOCKET_TIMEOUT); //exception happens in this method
connected = true;

这是堆栈跟踪:

11-08 03:02:38.050: W/System.err(26424): java.net.SocketTimeoutException: failed to connect to /fe80::b652:7dff:feb5:ece2%wlan0%7 (port 54579) after 10000ms
11-08 03:02:38.090: W/System.err(26424):    at libcore.io.IoBridge.connectErrno(IoBridge.java:150)
11-08 03:02:38.090: W/System.err(26424):    at libcore.io.IoBridge.connect(IoBridge.java:112)
11-08 03:02:38.120: W/System.err(26424):    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
11-08 03:02:38.160: W/System.err(26424):    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
11-08 03:02:38.210: W/System.err(26424):    at java.net.Socket.connect(Socket.java:848)
11-08 03:02:38.210: W/System.err(26424):    at com.example.virtualcard.QRInternetClientThread.doInBackground(QRInternetClientThread.java:55)
11-08 03:02:38.220: W/System.err(26424):    at android.os.AsyncTask$2.call(AsyncTask.java:264)
11-08 03:02:38.220: W/System.err(26424):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
11-08 03:02:38.220: W/System.err(26424):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
11-08 03:02:38.230: W/System.err(26424):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
11-08 03:02:38.230: W/System.err(26424):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
11-08 03:02:38.230: W/System.err(26424):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
11-08 03:02:38.230: W/System.err(26424):    at java.lang.Thread.run(Thread.java:856)
残酷的

我已经解决了我的问题。事实证明,我应该在创建套接字之前在客户端上使用此代码,并且我不得不更改该内容以使用IP寻址而不是主机名。

InetAddress addr = InetAddress.getByName(serverIP);
SocketAddress socketAddress = new InetSocketAddress(addr, serverPort);

//here follows the old client code
SocketAddress socketAddress = new InetSocketAddress(serverHostName, serverPort);
client = new Socket();
client.bind(null);
client.connect(socketAddress, SOCKET_TIMEOUT); //exception happens in this method
connected = true;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

套接字中的Java客户端

来自分类Dev

异步客户端Java套接字

来自分类Dev

通过TCP套接字从Java Server返回消息到Android客户端

来自分类Dev

Android客户端-Java服务器,套接字不会引发异常

来自分类Dev

通过TCP套接字从Java Server返回消息到Android客户端

来自分类Dev

Android客户端PC服务器java套接字连接失败

来自分类Dev

Java客户端套接字返回连接超时异常

来自分类Dev

客户端套接字-获取IP-Java

来自分类Dev

Java处理多个客户端套接字

来自分类Dev

Java套接字-如何模拟多个客户端

来自分类Dev

Java套接字-许多客户端之间的消息

来自分类Dev

Server(Python)-使用套接字的客户端(Java)通信

来自分类Dev

Java客户端/服务器套接字问题

来自分类Dev

Java SSL 套接字——客户端证书证明

来自分类Dev

Java TCP 客户端/服务器套接字

来自分类Dev

将输入从C套接字客户端读取到Java套接字服务器

来自分类Dev

无法从Java套接字服务器接收数据到C套接字客户端

来自分类Dev

将输入从C套接字客户端读取到Java套接字服务器

来自分类Dev

设置客户端套接字和服务器套接字侦听器 (Java)

来自分类Dev

多少个用户可以在带套接字的android客户端,pc java服务器上处理?

来自分类Dev

如何从Android Tcp客户端套接字连接到具有公共IP的Java TCP服务器套接字?

来自分类Dev

Java套接字服务器-客户端;卡在服务器端

来自分类Dev

Java客户端/服务器套接字程序-服务器不响应客户端请求

来自分类Dev

Java客户端服务器套接字,重用客户端套接字将引发“ java.io.StreamCorruptedException:无效类型代码:AC”

来自分类Dev

使用Java和Corba识别对等文件共享中的客户端。并在2个客户端之间建立套接字套接字

来自分类Dev

套接字服务器和套接字客户端Java-从位于不同计算机上的客户端检测服务器

来自分类Dev

套接字服务器和套接字客户端Java-从位于不同计算机上的客户端检测服务器

来自分类Dev

Java套接字:一台服务器和多个客户端

来自分类Dev

带套接字的ObjectStreams挂在服务器和客户端Java上

Related 相关文章

  1. 1

    套接字中的Java客户端

  2. 2

    异步客户端Java套接字

  3. 3

    通过TCP套接字从Java Server返回消息到Android客户端

  4. 4

    Android客户端-Java服务器,套接字不会引发异常

  5. 5

    通过TCP套接字从Java Server返回消息到Android客户端

  6. 6

    Android客户端PC服务器java套接字连接失败

  7. 7

    Java客户端套接字返回连接超时异常

  8. 8

    客户端套接字-获取IP-Java

  9. 9

    Java处理多个客户端套接字

  10. 10

    Java套接字-如何模拟多个客户端

  11. 11

    Java套接字-许多客户端之间的消息

  12. 12

    Server(Python)-使用套接字的客户端(Java)通信

  13. 13

    Java客户端/服务器套接字问题

  14. 14

    Java SSL 套接字——客户端证书证明

  15. 15

    Java TCP 客户端/服务器套接字

  16. 16

    将输入从C套接字客户端读取到Java套接字服务器

  17. 17

    无法从Java套接字服务器接收数据到C套接字客户端

  18. 18

    将输入从C套接字客户端读取到Java套接字服务器

  19. 19

    设置客户端套接字和服务器套接字侦听器 (Java)

  20. 20

    多少个用户可以在带套接字的android客户端,pc java服务器上处理?

  21. 21

    如何从Android Tcp客户端套接字连接到具有公共IP的Java TCP服务器套接字?

  22. 22

    Java套接字服务器-客户端;卡在服务器端

  23. 23

    Java客户端/服务器套接字程序-服务器不响应客户端请求

  24. 24

    Java客户端服务器套接字,重用客户端套接字将引发“ java.io.StreamCorruptedException:无效类型代码:AC”

  25. 25

    使用Java和Corba识别对等文件共享中的客户端。并在2个客户端之间建立套接字套接字

  26. 26

    套接字服务器和套接字客户端Java-从位于不同计算机上的客户端检测服务器

  27. 27

    套接字服务器和套接字客户端Java-从位于不同计算机上的客户端检测服务器

  28. 28

    Java套接字:一台服务器和多个客户端

  29. 29

    带套接字的ObjectStreams挂在服务器和客户端Java上

热门标签

归档