c # BeginReceive обратный вызов - PullRequest
0 голосов
/ 30 октября 2018

Я создаю программу, которая будет общаться с сокетами. У меня есть вопрос по этому поводу, я использую асинхронные сокеты, и я делаю

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

чтобы начать прослушивать этот сокет, я также добавляю этот сокет в свой список сокетов для отправки данных всем своим подключенным клиентам. Мой вопрос находится внутри моего ReceiveCallBack. Я хочу сделать несколько работ, которые могут занять до 1000-1500 мс, но я Интересно, будет ли эта ситуация блокировать что-нибудь еще, потому что я не хочу терять какие-либо входящие данные во время обработки предыдущих данных. Я думал о добавлении входящих данных в список, а затем выполнить свою работу там, но я не уверен, что это правильный путь, потому что я буду использовать

while(true)

и используйте list.FirstOrDefault (), а затем просто удалите его в конце моей работы ..

Может кто-нибудь показать мне правильный путь, если это возможно, пожалуйста?

...