C#TCP套接字编程 - 将数据发送到所有套接字

时间:2018-04-04 10:01:55

标签: c# sockets tcp server client

我正在研究服务器/多客户端编程。我会削减追逐一切正常但

foreach(Socket sct in socketArray){
        sct.send(data);
}

无效。它假设将数据发送到所有连接的套接字,但只发送请求获得响应的那个。我在想它是否与tcp包装有关?或者我不知道它为什么不起作用?如果有人可以提供帮助,我会非常感激。感谢

1 个答案:

答案 0 :(得分:1)

假设databyte[]且您的意思是sct.Send,那么:它应该正常工作,并将相同的有效负载 - 顺序 - 发送到socketArray中的所有套接字。这里没有任何特别细致的东西 - 每个插座都是独立的。

要检查的事项:

  • socketArray实际上是否有预期的套接字数量?
  • 他们是正确的套接字吗?
  • 是个例外吗?
  • 是实际连接的插座吗? (众所周知,破损的插座难以可靠地检测到)
  • 您是否启用了NoDelay
  • 这里有一些并发意味着单个套接字试图同时发送两次吗?
  • 是否正在发送,错误在接收代码中?