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名称
进行连接; - 有可能被服务端的
防火墙给屏蔽
,不过这种可能性比较低
今天的文章android socketserver_dial tcp connection refused[通俗易懂]分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58209.html