Android Socket通信错误:ECONNREFUSED (Connection refused)
1、在通过下列代码,把socket客户端连接socket服务端时:Socket socket = new Socket(serverIp, Constant.PORT);发生以下异常:java.net.ConnectException: failed to connect to /192.168.43.203 (port 54321) from /:: (port 39516): conn...
·
1、在通过下列代码,把socket客户端连接socket服务端时:
Socket socket = new Socket(serverIp, Constant.PORT);
发生以下异常:
java.net.ConnectException: failed to connect to /192.168.43.203 (port 54321) from /:: (port 39516): connect failed: ECONNREFUSED (Connection refused)
at libcore.io.IoBridge.connect(IoBridge.java:143)
at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
at java.net.Socket.connect(Socket.java:621)
at java.net.Socket.connect(Socket.java:570)
at java.net.Socket.<init>(Socket.java:450)
at java.net.Socket.<init>(Socket.java:218)
at com.sswl.tool.fragment.WifiClientFragment$5.run(WifiClientFragment.java:87)
at java.lang.Thread.run(Thread.java:919)
Caused by: android.system.ErrnoException: connect failed: ECONNREFUSED (Connection refused)
at libcore.io.Linux.connect(Native Method)
at libcore.io.ForwardingOs.connect(ForwardingOs.java:95)
at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:136)
at libcore.io.ForwardingOs.connect(ForwardingOs.java:95)
at libcore.io.IoBridge.connectErrno(IoBridge.java:157)
at libcore.io.IoBridge.connect(IoBridge.java:135)
... 11 more
2、导致上述异常,主要是因为客户端socket所请求的服务端ip与端口并没有开启监听线程
,排查方向主要有以下几个:
- 有可能是该ip与端口对应的服务端
监听线程没有成功开启
或者已经崩溃; - 客户端socket连接的
服务端ip或者端口有误
; - 客户端socket使用解析为
错误IP的DNS名称
进行连接; - 有可能被服务端的
防火墙给屏蔽
,不过这种可能性比较低
更多推荐
已为社区贡献3条内容
所有评论(0)