java - 使用 Java 将客户端连接到本地主机时出现问题

标签 java eclipse sockets localhost

我正在尝试使用套接字设置 protected 客户端和 protected 服务器连接。每当我运行该程序时,我都会收到一条连接错误,指出连接被拒绝。我在 MAC OS 上运行的 Eclipse IDE 中使用 Java。任何想法为什么此代码无法连接到我的本地主机?

protected 客户端:

public static void main(String[] args) throws Exception 
    {
        String host = "localhost";
        int port = 7999;
        String user = "George";         
        String password = "abc123";     
        Socket s = new Socket(host, port);

        ProtectedClient client = new ProtectedClient();
        client.sendAuthentication(user, password, s.getOutputStream());

        s.close();
    }

protected 服务器

public static void main(String[] args) throws Exception 
{
    int port = 7999;    //7999
    ServerSocket s = new ServerSocket(port);
    Socket client = s.accept();

    ProtectedServer server = new ProtectedServer();

    if (server.authenticate(client.getInputStream()))
      System.out.println("Client logged in.");
    else
      System.out.println("Client failed to log in.");

    s.close();
}

当我运行该程序时,我收到以下错误:

Exception in thread "main" java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:382)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:241)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:228)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:431)
    at java.net.Socket.connect(Socket.java:527)
    at java.net.Socket.connect(Socket.java:476)
    at java.net.Socket.<init>(Socket.java:373)
    at java.net.Socket.<init>(Socket.java:216)
    at ProtectedClient.main(ProtectedClient.java:36)

最佳答案

我之前在使用特定套接字时遇到过此错误。尝试使用不同的套接字,例如 5687。(或者,如果您需要该特定套接字,请尝试确保您的防火墙允许它)。

确保您也在服务器上调用 client.close()。 如果您的程序曾经运行过,则可能会阻塞该端口。

关于java - 使用 Java 将客户端连接到本地主机时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20081121/

相关文章:

java - jcodec可以将音频添加到MP4文件中吗?

java - 如何使用 jolt 替换某些属性的文本

java - 在 Java/beanshell 代码中操作 JMeter JDBC 连接字段

java - Eclipse Sap hana studio 中未显示权限和存储库窗口?

java - TCP Socket接收和处理多个消息

Java-高效的调度结构?

java - 安卓 OpenGL : IllegalArgumentException use native order direct buffer

eclipse - 1.0.14 版本后的cucumber-java 和cucumber-junit 不起作用

java - 处理 Java Socket 中的一个或多个单词 .readLine()

c# - SocketAsyncEventArgs - 如何检测正在进行的套接字操作并终止?