1

我的程序使用套接字进行进程间通信。有一台服务器正在侦听本地主机上的套接字端口(B),等待 TCP 客户端列表进行连接。在服务器的另一端是另一个将数据发送到互联网的套接字(A)。服务器旨在获取 TCP 客户端发送给他的所有内容,并转发到 Internet 上的服务器。我的问题是,如果两个 TCP 客户端碰巧同时发送数据,这对服务器的传出套接字(A)来说会是一个问题吗?

谢谢

4

2 回答 2

2

MSDN 文档建议您使用,BeginSend如果EndSend多个线程将使用同一个套接字来传输数据。

所以我建议您要么使用这些方法,要么将传出数据写入同步队列,然后单个线程将从队列中提取数据并通过套接字(A)发送

于 2010-04-30T17:35:05.037 回答
1

您没有描述如何将多个客户端流的流量复用到单个传出流上。只是随意将大量客户端流量放入流中是保证不会工作的。intertube 另一端的接收端将不知道哪些字节属于哪个会话。

我建议您首先关注另一端。那里有什么机器,它做什么,它需要了解本地端的多个客户端的什么信息。

于 2010-04-30T18:53:35.663 回答