繁体   English   中英

从Java内部进行端口转发

[英]Port Forwarding From Within Java

我计划用Java构建一些利用ServerSocket和Socket类的程序。 我的代码构建正确,可以正确建立连接。 但是,在建立连接和服务器时,我想让用户尽可能地容易。 因此,我需要一种从Java内部进行移植的方法,以便我的程序可以在客户端计算机上构建服务器并通过Internet与其他计算机进行通信,但是该程序的用户不需要付出任何额外的努力。 有什么有效的方法可以执行此操作,而无需访问任何需要下载的外部程序?

您可以使用这个小项目

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

只将输入连接管道连接到输出连接怎么样?

如果同时检索两个套接字的InputStreamOutputStream ,则可以使用PipedInputStreamPipedOutputStream连接两个不同的套接字并转发连接。 在此处此处查看文档。

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

暂无
暂无

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

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