首页 > 解决方案 > c# BeginReceive 回调

问题描述

我正在构建一个与套接字通信的程序。我对此有疑问,我正在使用异步套接字,我这样做了

socket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallBack), State);

开始监听该套接字我还将这个套接字添加到我的套接字列表中以向所有连接的客户端发送数据我的问题在我的 ReceiveCallBack 我想做一些可能需要 1000-1500 毫秒的工作但我想知道这是否情况会阻止其他任何事情,因为我不想在处理以前的数据时丢失任何传入的数据。我正在考虑将传入的数据添加到列表中,然后在那里做我的工作,但我不确定这是否是正确的方法,因为我会使用

while(true)

并使用 list.FirstOrDefault() 然后在我的工作结束时将其删除..

如果可能的话,有人可以告诉我正确的方法吗?

标签: c#asyncsocket

解决方案


推荐阅读