Вопрос

У меня странная проблема с моим кодом, на данный момент все работает нормально, кроме отправки.Всякий раз, когда я пытаюсь отправить пакет, он на самом деле отправляет много пустых пакетов, и я не могу понять, почему. Я проверил с помощью отладчика, и функция SendPacket вызывается только один раз.Спасибо всем!

Это было полезно?

Решение

Что я вижу:вы передаете массив (loginOutBuffer) к Socket.BeginSend() в SendPacket с помощью OnPacketRecv, но вы очищаете его сразу после OnPacketRecv.

Socket.BeginSend() не создает копию массива, когда вы его передаете, поэтому он отправляет данные в уже очищенный массив, в результате чего на другом конце выходят нули.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top