Java内部的端口转发

时间:2010-11-12 21:05:58

标签: java portforwarding

我打算用Java构建一些利用ServerSocket和Socket类的程序。我已正确构建代码,并且可以正确建立连接。但是,在构建连接和服务器时,我希望尽可能简化用户。因此,我需要一种方法从Java内部移植,以便我的程序可以在客户端机器上构建服务器并与互联网上的其他机器通信,但程序的用户不需要付出额外的努力。是否有任何有效的方法可以在不访问任何需要下载的外部程序的情况下执行此操作?

3 个答案:

答案 0 :(得分:1)

您可以使用此little project

注意:客户端计算机通常位于NAT网关之后,因此Internet上的其他计算机无法直接访问它们。

答案 1 :(得分:0)

如何将传入连接与输出连接进行管道连接?

如果您同时检索两个套接字的InputStreamOutputStream,则可以使用PipedInputStreamPipedOutputStream连接两个不同的套接字并转发连接。请参阅文档herehere

答案 2 :(得分:0)

如果服务器位于NAT或防火墙之后,并且您不想使用中间人来促进连接,那么这将非常困难。我建议你研究NAT hole punching,特别是Rodi等开源Java实现。