Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 存储TCP客户端或网络流以进行广播?_C#_Websocket - Fatal编程技术网

C# 存储TCP客户端或网络流以进行广播?

C# 存储TCP客户端或网络流以进行广播?,c#,websocket,C#,Websocket,一旦客户端连接,我将TcpClient对象存储在一个列表中。当广播到所有连接的客户端时,循环浏览这些客户端的列表并发送数据。问题有时发生在循环中,当其中一个客户端断开连接并且正在处理其对象时抛出异常“Enumeration modified:” 解决这个问题的办法是什么?或者干脆存储NetworkStream 谢谢您应该使用.NET提供的ConcurrentCollections之一,例如ConcurrentBag或ConcurrentQueue 请看这里: ConcurrentCollecti

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

解决这个问题的办法是什么?或者干脆存储NetworkStream


谢谢

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

请看这里:

ConcurrentCollection?谢谢,这就解决了问题@zaitsman-请将链接作为答案发布,这样答案就可以被接受,并且更容易为未来的读者找到。谢谢