gpt4 book ai didi

java - 哪些做法是错误的? (Java 服务器/套接字编程)

转载 作者:行者123 更新时间:2023-12-01 16:00:15 25 4
gpt4 key购买 nike

我在连接服务器和套接字时遇到了一些问题。我确保 IP 有效,所以这不是地址不匹配的问题。也不是端口不匹配(我也测试过这一点)。

以下是服务器处理程序

class ServerConnect extends Thread
{
// ...
public ServerConnect(int port, String pass) throws IOException
{
// ...
this.start();
}

public void run()
{
try
{
// ...
while (! server.isClosed()) // Make Connections
{
Socket newClient = server.accept();
System.out.println("Connection Accepted!");
// ...
}

}
// ...
}
}

这是 socket 连接器

class ClientConnect extends Thread
{
// ...
public ClientConnect(InetAddress ip, int port, String pass)
{
try
{
System.out.println("Connecting to host:\t" + ip.toString() + ":" + port);
client = new Socket(ip, port);
output = new PrintWriter(client.getOutputStream(), true);
input = new Scanner(client.getInputStream());
// ...
}
// ...
}
// ...
}

首先,我尝试在本地进行测试。我输入了我的 IP 和 IP 127.0.0.1,两者都将我连接到我在本地设置的服务器。但是,然后我尝试从另一个IP,发生了这样的事情。建立连接的线程卡住了一小会儿,然后简单地跳到异常并告诉我它找不到主机,而主机从未说过它接受了连接。如果有帮助,我将使用端口 4424 来连接服务器。在我的代码中是否有什么可能导致这种情况,或者我没有采取什么措施来防止这种情况?

另外,如果我没有提供足够的信息,请告诉我。我已经做了很多测试,可以做更多的事情来帮助找出问题所在。

最佳答案

听起来像是网络问题。您是否尝试从客户端计算机 ping 服务器?您是否测试了端口是否可达(通过使用 telnet 或在线端口测试器)?

只需在您选择的控制台中键入这两个命令(应该适用于大多数操作系统),然后查看是否可以建立连接:

ping <hostname>
telnet <hostname> <port>

关于java - 哪些做法是错误的? (Java 服务器/套接字编程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4158378/

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