我打算用Java构建一些利用ServerSocket和Socket类的程序。我已正确构建代码,并且可以正确建立连接。但是,在构建连接和服务器时,我希望尽可能简化用户。因此,我需要一种方法从Java内部移植,以便我的程序可以在客户端机器上构建服务器并与互联网上的其他机器通信,但程序的用户不需要付出额外的努力。是否有任何有效的方法可以在不访问任何需要下载的外部程序的情况下执行此操作?
答案 0 :(得分:1)
您可以使用此little project。
注意:客户端计算机通常位于NAT网关之后,因此Internet上的其他计算机无法直接访问它们。
答案 1 :(得分:0)
如何将传入连接与输出连接进行管道连接?
如果您同时检索两个套接字的InputStream
和OutputStream
,则可以使用PipedInputStream
和PipedOutputStream
连接两个不同的套接字并转发连接。请参阅文档here和here。
答案 2 :(得分:0)
如果服务器位于NAT或防火墙之后,并且您不想使用中间人来促进连接,那么这将非常困难。我建议你研究NAT hole punching,特别是Rodi等开源Java实现。