gpt4 book ai didi

java - Java套接字连接失败

转载 作者:行者123 更新时间:2023-12-03 11:55:32 25 4
gpt4 key购买 nike

我有一个Java代码在我的计算机上运行,​​而我的 friend 有一个客户代码在他的计算机上运行。当他输入我的IP以便连接到我的服务器并获取日期时,连接失败并且什么也没有发生。请注意,当我在自己的计算机上运行服务器和客户端程序并输入 localhost 作为地址时,连接成功,并且我正确获得了日期消息。我正在寻找可能的错误和引起此问题的问题。

Java中的服务器代码:

import java.io.IOException;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;

public class Server {
public static void main(String[] args) throws IOException {
ServerSocket listener = new ServerSocket(9999);
try {
while (true) {
Socket socket = listener.accept();
try {
PrintWriter out =
new PrintWriter(socket.getOutputStream(), true);
out.println(new Date().toString());
} finally {
socket.close();
}
}
}
finally {
listener.close();
}
}
}

Java客户端代码:
import javax.swing.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;

public class Client {
public static void main(String[] args) throws IOException {
String serverAddress = JOptionPane.showInputDialog(
"Enter IP Address of a machine that is\n" +
"running the date service on port 9999:");
Socket s = new Socket(serverAddress, 9999);
BufferedReader input =
new BufferedReader(new InputStreamReader(s.getInputStream()));
String answer = input.readLine();
JOptionPane.showMessageDialog(null, answer);
System.exit(0);
}
}

最佳答案

某些路由器可能会将不同网络中的计算机隔离开。尝试在Wifi上的两台计算机上或两台都连接到路由器的计算机上进行尝试。您的IP是否在同一网络上?您可以在网络上看到 friend 的计算机吗?路由器上可能还会有一些安全性配置。

除此之外,还有防火墙问题(已禁用),该代码看起来应该可以正常工作。

关于java - Java套接字连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31189899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com