存储TcpClient或NetworkStream以进行广播?

时间:2015-12-05 09:30:06

标签: c# websocket

我在客户端连接后将TcpClient对象存储在列表中。在向所有连接的客户端广播时,循环访问这些客户端并发送数据。问题有时发生在循环中,抛出异常"枚举修改:"当其中一个客户端断开连接并且其对象正在处理时。

那会有什么解决方案?或者只是存储NetworkStream?

由于

1 个答案:

答案 0 :(得分:1)

您应该使用.NET提供的ConcurrentCollections之一,例如: ConcurrentBag或ConcurrentQueue。

见这里: https://msdn.microsoft.com/en-us/library/dd997305%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396