为了账号安全,请及时绑定邮箱和手机立即绑定

ConnectException:连接被拒绝

ConnectException:连接被拒绝

慕码人2483693 2019-06-21 17:44:59
ConnectException:连接被拒绝我试图实现TCP连接,从服务器端一切正常运行,但是当我运行客户机程序(从客户端计算机运行)时,会出现以下错误:java.net.ConnectException: Connection refused         at java.net.PlainSocketImpl.socketConnect(Native Method)         at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)         at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)         at java.net.Socket.connect(Socket.java:529)         at java.net.Socket.connect(Socket.java:478)         at java.net.Socket.<init>(Socket.java:375)         at java.net.Socket.<init>(Socket.java:189)         at TCPClient.main(TCPClient.java:13)我试图更改套接字号,以防它正在使用,但没有用,有人知道是什么导致了这个错误&如何修复它。服务器代码://TCPServer.javaimport java.io.*;import java.net.*;class TCPServer {     public static void main(String argv[]) throws Exception {         String fromclient;         String toclient;         ServerSocket Server = new ServerSocket(5000);         System.out.println("TCPServer Waiting for client on port 5000");         while (true) {             Socket connected = Server.accept();             System.out.println(" THE CLIENT" + " " + connected.getInetAddress()                     + ":" + connected.getPort() + " IS CONNECTED ");             BufferedReader inFromUser = new BufferedReader(                     new InputStreamReader(System.in));             BufferedReader inFromClient = new BufferedReader(                     new InputStreamReader(connected.getInputStream()));             PrintWriter outToClient = new PrintWriter(                     connected.getOutputStream(), true);             while (true) {
查看完整描述

3 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

我会检查:

  • 要连接到的主机名和端口
  • 服务器端已成功地开始正确地侦听。
  • 没有防火墙阻止连接

最简单的起点可能是尝试使用telnet或Putty从客户机手动连接。如果成功,那么问题就在您的客户端代码中。如果没有,你得想办法为什么还没有。威雷沙克在这方面可以帮到你。


查看完整回答
反对 回复 2019-06-21
?
HUH函数

TA贡献1836条经验 获得超4个赞

您必须将客户端套接字连接到远程ServerSocket。而不是

Socket clientSocket = new Socket("localhost", 5000);

Socket clientSocket = new Socket(serverName, 5000);

客户端必须连接到服务器名,它应该与您所在的框的名称或IP相匹配。ServerSocket实例化(该名称必须可从客户端计算机访问)。顺便说一句:重要的不是名字,而是IP地址.


查看完整回答
反对 回复 2019-06-21
  • 3 回答
  • 0 关注
  • 3813 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信