Error_016 2023-05-13 15:13 采纳率: 27.3%
浏览 34
已结题

java new socket java.net.ConnectException: Connection refused: connect拒绝连接,如何解决?


InetAddress in = InetAddress.getByName("192.168.0.102");
                Socket so = new Socket(in, 8998);
                OutputStream op = so.getOutputStream();
                PrintWriter pw = new PrintWriter(op);
                Robot ro = new Robot();

我尝试socket通信,服务器端一切正常,但当我运行客户端时遇到了如下错误

Exception in thread "Thread-0" java.lang.RuntimeException: java.net.ConnectException: Connection refused: connect
    at Monitor.run(Monitor.java:26)
Caused by: java.net.ConnectException: Connection refused: connect
    at java.base/sun.nio.ch.Net.connect0(Native Method)
    at java.base/sun.nio.ch.Net.connect(Net.java:579)
    at java.base/sun.nio.ch.Net.connect(Net.java:568)
    at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:588)
    at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
    at java.base/java.net.Socket.connect(Socket.java:633)
    at java.base/java.net.Socket.connect(Socket.java:583)
    at java.base/java.net.Socket.<init>(Socket.java:507)
    at java.base/java.net.Socket.<init>(Socket.java:319)
    at Monitor.run(Monitor.java:20)

网上的文章都说可能是端口被占用了
或者开了防火墙被拦截,或者服务器没有监听接口什么的,
我全试了一遍毫无卵用,已经弄了我两天了
别去网上搜,全是复制粘贴术!

img

  • 写回答

3条回答 默认 最新

  • 红色荷包蛋 2023-05-13 15:21
    关注
    InetAddress in = InetAddress.getByName("192.168.0.102");  
    

    连接的IP是内网IP ,你在客户端运行的时候,他会请求 客户端本机网络环境下的

    192.168.0.102 
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月9日
  • 已采纳回答 8月1日
  • 创建了问题 5月13日

悬赏问题

  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号
  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵