正在存储用于广播的TcpClient或NetworkStream



一旦客户端连接,我就将TcpClient对象存储在列表中。当广播到所有连接的客户端时,循环浏览这些客户端的列表并发送数据。该问题有时发生在循环中,当其中一个客户端断开连接并正在处理其对象时,会引发异常"Enumeration modified:"。

解决这个问题的办法是什么?还是简单地存储NetworkStream?

感谢

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

请参见此处:https://msdn.microsoft.com/en-us/library/dd997305%28v=vs.110%29.aspx?f=255&MSPP错误=-2147217396

最新更新