猿问

ConnectException:连接被拒绝

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) {



慕码人2483693
浏览 3815回答 3
3回答

阿晨1998

我会检查:要连接到的主机名和端口服务器端已成功地开始正确地侦听。没有防火墙阻止连接最简单的起点可能是尝试使用telnet或Putty从客户机手动连接。如果成功,那么问题就在您的客户端代码中。如果没有,你得想办法为什么还没有。威雷沙克在这方面可以帮到你。

HUH函数

您必须将客户端套接字连接到远程ServerSocket。而不是Socket clientSocket = new Socket("localhost", 5000);做Socket clientSocket = new Socket(serverName, 5000);客户端必须连接到服务器名,它应该与您所在的框的名称或IP相匹配。ServerSocket实例化(该名称必须可从客户端计算机访问)。顺便说一句:重要的不是名字,而是IP地址.
随时随地看视频慕课网APP

相关分类

Java
我要回答