Socket通信时报错java.net.ConnectException: Connection refused

在调试Socket通讯时,利用花生壳进行域名解析,将固定的域名指定到具体的电脑主机上(电脑主机的IP地址可变)
当手机客户端使用模拟器模拟时,可以正常进行Socket通信。
当手机客户端为真机测试时且与主机处于同一WIFI连接下,如电脑开启随时WIFI,将手机客户端连入该WIFI。此时,电脑运行Java编写的Server端,同时在接入WIFI的手机客户端进行Socket连接时会报以下错误: (在服务端未开启时也会报Connect refused错误)

06-02 10:52:31.300 11185-11469/com.sannas.sockettest W/System.err: java.net.ConnectException: Connection refused
06-02 10:52:31.300 11185-11469/com.sannas.sockettest W/System.err:     at java.net.PlainSocketImpl.socketConnect(Native Method)
06-02 10:52:31.300 11185-11469/com.sannas.sockettest W/System.err:     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:334)
06-02 10:52:31.300 11185-11469/com.sannas.sockettest W/System.err:     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:194)
06-02 10:52:31.300 11185-11469/com.sannas.sockettest W/System.err:     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
06-02 10:52:31.300 11185-11469/com.sannas.sockettest W/System.err:     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
06-02 10:52:31.300 11185-11469/com.sannas.sockettest W/System.err:     at java.net.Socket.connect(Socket.java:586)
06-02 10:52:31.300 11185-11469/com.sannas.sockettest W/System.err:     at java.net.Socket.connect(Socket.java:535)
06-02 10:52:31.300 11185-11469/com.sannas.sockettest W/System.err:     at java.net.Socket.<init>(Socket.java:427)
06-02 10:52:31.300 11185-11469/com.sannas.sockettest W/System.err:     at java.net.Socket.<init>(Socket.java:210)
06-02 10:52:31.300 11185-11469/com.sannas.sockettest W/System.err:     at com.sannas.sockettest.SocketUtil$1.run(SocketUtil.java:35)
06-02 10:52:31.300 11185-11469/com.sannas.sockettest W/System.err:     at java.lang.Thread.run(Thread.java:762)

at com.sannas.sockettest.SocketUtil$1.run(SocketUtil.java:35)指向的是代码中:mSocket = new Socket("sannas.imwork.net",20005);  
在网上查找原因一般都是指域名或端口号出现错误或端口未开启等问题,但经检查后,这些都是正确的。后经调试发现,手机不能与已进行域名转换(花生壳域名映射)之后的电脑主机连入同一WIFI(即用电脑开一个共享WIFI,手机再接入此WIFI),运行客户端的真机需要更改网络连接后(不接入电脑开启的WIFI)即可进行正常的Socket通信。具体原因不太清楚,还请大佬些告知。
更改网络后测试效果:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值