相关疑难解决方法(0)

连接两个客户端套接字

假设Java有两种套接字:

  • 服务器套接字"ServerSocket"
  • 客户端套接字或只是"套接字"

想象一下两个过程的情况:

X =客户
Y =服务器

服务器进程Y:有一个"ServerSocket",即正在侦听TCP端口
客户端进程X:通过"Socket"向Y发送连接请求.

Y:然后该accept()方法返回一个新的客户端类型"Socket",
当它发生时,两个套接字得到"互连",

所以:客户端进程中的套接字,与服务器进程中的套接字相连.
然后:通过套接字X读/写就像通过套接字Y读/写.
现在,两个客户端套接字互连!!

但是......
如果我在同一个进程中创建两个Client套接字,我想让它们"互连"怎么办?

......甚至可能?

假设如何在不使用中间ServerSocket的情况下使两个客户端套接字互连?

我已经通过创建两个Thread来连续读取A和写B来解决它,而另一个用于读取B和写入A ......
但我认为这可能是更好的方式......(那些世界耗能的线程不是必需的使用客户端 - 服务器方法)

任何帮助或建议将不胜感激!谢谢


编辑:

应用示例:"现有服务器应用程序可以转换为客户端应用程序",例如VNC服务器,一个客户端套接字连接到VNC服务器,并创建其他客户端套接字(连接到中间服务器),然后应用程序互连两个客户端导致VNC服务器是客户端应用程序!然后,不需要公共IP.

VNCServer --- MyApp ---> |中间服务器| <---用户

java sockets client serversocket

13
推荐指数
2
解决办法
4万
查看次数

peer2peer如何通过路由器工作?

一台PC如何通过互联网连接到另一台PC?

一个例子是监听PC 1上的连接的程序.PC 1位于路由器1后面.PC 2有一个客户端程序试图连接到PC 1.

在这种情况下,用作收听程序的正确技术/技术是什么?

p2p nat-traversal

5
推荐指数
1
解决办法
4017
查看次数

标签 统计

client ×1

java ×1

nat-traversal ×1

p2p ×1

serversocket ×1

sockets ×1