【发布时间】:2011-05-18 00:53:53
【问题描述】:
我有一个需要与远程计算机上的客户端配对的应用程序。该应用程序可以在服务器上运行多个实例,每个实例服务于不同的客户端,可能多达 25-30 对。
每对服务器-客户端都需要有两个 tcp 连接。服务器应用程序有 2 个进程,每个进程都有自己的到客户端的 tcp 连接。
- 进程 A 与客户端交换命令
- 进程 B 从客户端接收恒定视频流。
另外,每对进程A/进程B之间还有一个tcp连接
命令/数据将来自如下:
客户端 进程 A 进程 B
而视频将朝这个方向流动:
客户端 --> 进程 B
我需要帮助来确定建立所有 tcp 连接的最佳方式。谁设置听众?如何确定要使用的端口?等等
我目前有一个进程 A 与进程 B 和客户端通信的实例,但它都在一台机器上运行,所以我现在只使用“localhost”作为我的主机名。我还在对我正在使用的 2 个端口进行硬编码,因此当我有多个实例时我也需要更改它,以便每个实例使用不同的端口。
一旦进程A与客户端建立连接,它需要向客户端请求一个端口,以便进程B可以直接与客户端建立另一个连接。这是一个好方法,还是更好的方法?客户端如何确定可以使用的端口?
还有关于如何分配端口的任何帮助或指针,以便它可以与多个实例一起使用,我们将不胜感激。
谢谢,有什么不清楚的地方可以问。
编辑:实际上进程 A 和进程 B 是两个不同的应用程序。
【问题讨论】:
标签: c windows networking client-server