Tidtcpserver 监听多端口?
Tidtcpserver listening on multiports?
好吧,我正在尝试理解这种方法,假设我有 运行 2 个服务器
服务器 A 的 IP 为 1.1.1.1,端口为 36663
服务器 B 在 ip 2.2.2.2 和端口 54223
我要求能够理解这种方法
我可以让服务器 A 上的客户端能够与服务器 B 上的客户端通信吗?
例如,客户端正在连接服务器 A 并想向连接到服务器 B 的客户端发送一些数据,这可以使用 indy tcp 服务器完成吗?
如果答案是肯定的,一个例子将有助于完全理解这种方法。
我在不同的机器上有 2 个服务器
1 台机器网络速度较慢,另一台机器网络良好。
这里的逻辑是当客户端到serverA的连接时间超过20秒,在这20秒内尝试重新连接到其他服务器ip并能够与已经连接到serverA的客户端通信
TIdTCPServer
有一个 Bindings
属性,它是服务器侦听的 IP/Port 对的集合。您可以让一个 TIdTCPServer
对象监听多个 IP/Port 对,或者您可以使用多个 TIdTCPServer
对象监听不同的对,在同一台机器上.
无论哪种方式,连接的客户端都存储在 TIdTCPServer.Contexts
属性.
当一个客户端要向另一个客户端发送数据时,无论它连接到哪个服务器IP/Port,您所要做的就是遍历[=15=]适当[=]的列表10=] 对象,直到找到目标客户端的 TIdContext
对象,然后就可以访问它的 Connection.IOHandler
属性.
另一方面,如果您在 不同的机器 上有单独的 TIdTCPServer
个对象 运行,则客户端无法直接与另一台服务器上的客户端通信。您必须在两台服务器之间建立连接,然后您可以根据需要通过该连接代理任何 client-to-client 数据。
好吧,我正在尝试理解这种方法,假设我有 运行 2 个服务器
服务器 A 的 IP 为 1.1.1.1,端口为 36663 服务器 B 在 ip 2.2.2.2 和端口 54223
我要求能够理解这种方法
我可以让服务器 A 上的客户端能够与服务器 B 上的客户端通信吗? 例如,客户端正在连接服务器 A 并想向连接到服务器 B 的客户端发送一些数据,这可以使用 indy tcp 服务器完成吗?
如果答案是肯定的,一个例子将有助于完全理解这种方法。
我在不同的机器上有 2 个服务器
1 台机器网络速度较慢,另一台机器网络良好。
这里的逻辑是当客户端到serverA的连接时间超过20秒,在这20秒内尝试重新连接到其他服务器ip并能够与已经连接到serverA的客户端通信
TIdTCPServer
有一个 Bindings
属性,它是服务器侦听的 IP/Port 对的集合。您可以让一个 TIdTCPServer
对象监听多个 IP/Port 对,或者您可以使用多个 TIdTCPServer
对象监听不同的对,在同一台机器上.
无论哪种方式,连接的客户端都存储在 TIdTCPServer.Contexts
属性.
当一个客户端要向另一个客户端发送数据时,无论它连接到哪个服务器IP/Port,您所要做的就是遍历[=15=]适当[=]的列表10=] 对象,直到找到目标客户端的 TIdContext
对象,然后就可以访问它的 Connection.IOHandler
属性.
另一方面,如果您在 不同的机器 上有单独的 TIdTCPServer
个对象 运行,则客户端无法直接与另一台服务器上的客户端通信。您必须在两台服务器之间建立连接,然后您可以根据需要通过该连接代理任何 client-to-client 数据。