У меня есть группа «Пакетов», которые классифицируются по индивидуальному заказу, которые покрываются байтом [] и затем отправляются клиенту. Когда клиент присоединяется, он обновляется предыдущими «пакетами захвата», которые были отправлены до присоединения пользователя. Думайте об этом как о комнате чата, где вы будете в курсе предыдущих разговоров.
Моя проблема на стороне клиента, мы не получаем всю информацию; Иногда совсем нет ..
Ниже приведен псевдо-код C # для того, что я вижу
код выглядит следующим образом.
lock(CatchUpQueue.SyncRoot)
{
foreach(Packet packet in CatchUpQueue)
{
// If I put Console.WriteLine("I am Sending Packets"); It will work fine up to (2) client sockets else if fails again.
clientSocket.BeginSend(data, 0, data.length, SocketFlags.None, new AsyncCallback(EndSend), data);
}
}
Это какая-то проблема с дросселем или проблема с многократной отправкой: то есть: если в очереди 4 пакета, то вызовы начинают отправляться 4 раза.
Я искал похожую тему и не могу ее найти. Спасибо за вашу помощь.
Изменить: Я также хотел бы отметить, что отправка между клиентами продолжается нормально для любых отправлений после подключения клиента. Но по какой-то причине пакеты в этом цикле for отправляются не все.