我正在构建一个将与套接字通信的程序。我对此有一个疑问,我正在使用异步套接字,而我
socket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallBack), State);
开始监听该套接字,我还将这个套接字添加到我的套接字列表中,以向所有连接的客户端发送数据。我的问题在我的ReceiveCallBack内部,我想做一些可能需要1000-1500毫秒的工作,但是我不知道这种情况是否会阻止其他任何事情,因为在处理以前的数据时,我不想丢失任何传入的数据。我当时想将传入的数据添加到列表中,然后在那里进行工作,但我不确定这是否是正确的方法,因为我将使用
while(true)
并使用list.FirstOrDefault(),然后在工作结束时将其删除。.
如果可以的话,有人可以告诉我正确的方法吗?