gpt4 book ai didi

java - 为什么我的聊天应用程序无法在路由器后面运行?

转载 作者:行者123 更新时间:2023-12-02 00:23:57 25 4
gpt4 key购买 nike

我开发了一个聊天应用程序Java/Socket(TCP),它在我的本地网络上完美运行,但是当我将它放在路由器后面时它不起作用......我已经在路由器上测试了开放端口: http://www.yougetsignal.com/tools/open-ports/结果如下

80 (HTTP)is open
21 (FTP)is open
22 (SSH)22 is open
23 (TELNET)is open
25 (SMTP)25 is open
.
.
.

我使用此端口列表启动了我的服务器(java -jar server.jar 23):

    int port=Integer.parseInt(args[0]);

ServerSocket serverSocket = null;

serverSocket = new ServerSocket(port);


System.out.println("server started at " + port);
Socket clientSocket = null ;

// repeatedly wait for connections, and process
while (true) {



try {
clientSocket = serverSocket.accept();
} catch (IOException ex) {
System.out.Println("error");
}
System.err.println("new client connected!");


in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream())),true);



String s;
while ((s = in.readLine()) != null) {
out.println("from server: "+s);
}

// colse all
out.close();
in.close();
clientSocket.close();

然后然后用一个简单的客户端我尝试连接=>收到的任何东西....

问题出在哪里?那么 Skype、Msn 和其他聊天应用程序如何正常工作呢?有解决方案吗?

PS:我放置了一个简单的代码(echo 服务器)来代表我的真实服务器,以便您快速理解我的代码:)。

我的问候。

最佳答案

这只是一个猜测,您是否进入路由器的配置实用程序并将其设置为向客户端代理(通常称为端口转发)telnet 请求?您的路由器可能正在监听 23,但除非您在路由器的固件上运行聊天客户端,否则我怀疑它知道如何处理该流量。也许我误解了你的问题。

关于java - 为什么我的聊天应用程序无法在路由器后面运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10405352/

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