【发布时间】:2015-11-22 02:42:25
【问题描述】:
我正在使用 java 开发 ServerSocket,我想知道,在客户端连接后,是否可以将 Client/Socket 发送到另一个 ServerSocket。例如,客户端连接到 123.41.67.817(只是一个随机 IP),并且在连接后,客户端当然会直接发送到例如 124.51.85.147(另一个随机 IP)和一个端口。一张关于会发生什么的小地图。
ServerSocket(监听连接)
客户端 ---> ServerSocket(客户端连接)
ServerSocket -> Client(Server 说:你好,我要送你到 124.51.85.147)
客户端-> ServerSocket(客户端说:OK!)
Client ---> ServerSocket(124.51.85.147)(Client 被发送到不同的服务器 Socket)
ServerSocket(124.51.85.147) -> Client(Server2 说:欢迎!)
然后客户端停留在 Server2(124.51.85.147)
这是否有可能。抱歉问了这么长的问题。
【问题讨论】:
-
正如咖啡所暗示的:是的,目标是可能的。您可以将客户端“重定向”到不同的服务器,或者您可以让客户端与多个服务器通信。您只是不能在同一个套接字上。正如 Stephen C 在下面所说:“TCP/IP 连接是一对 IP 地址之间的对话。”查看 Coffee 给你的链接,看看是否适用于你的场景:stackoverflow.com/questions/8854675
-
好的,谢谢。我很快就会看看。
-
基本上,您要做的就是告诉客户端新服务器的地址,然后让客户端连接到新服务器。有点像 HTTP 重定向,只是你必须自己编写代码。