繁体   English   中英

试图创建一个带有公共IP的套接字,java没有端口转发?

[英]Trying to create a socket with public IP , java without port forwarding?

我正在尝试使用Java打开使用我的公共IP的套接字。

我有一个服务器程序和一个客户端程序,我可以使用localhost连接它们。 我还在一个端口上移植了我的PC,并使用这个端口我可以连接程序。 但是,是否可以在不打开端口的情况下连接它们?

我正在开发这个IP聊天程序,让所有用户打开他们的端口非常不方便。

Server.java包含:

ServerSocket Server = new ServerSocket(Port number);

Client.java包含:

try {
    Socket clientSocket = new Socket(public_ip, Port number);
} catch (Exception e) {
    e.printStackTrace();
}

我很感激任何帮助,我对插座很新!

默认情况下会阻止入站连接,这是出于安全原因。 通常不会阻止出站连接。 所以最好的解决方案是拥有一台服务器。 客户端将毫无问题地连接到它(允许出站连接),服务器将数据传输到客户端。

如果您好奇服务器如何使用连接向客户端传递消息,为客户端出站 - 客户端不断询问服务器是否有新消息,如果是,则返回响应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM