Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Receive and Send
#1
Нужна помощь с исправлением приемом и отправкой пакетов.
Не могу понять в чем проблема , иногда идут левые пакеты.
Пробовал написать так же как и в point blank приемку и отправку пакетов, после 1 пакета ничего в ответ не идет.


Структура пакетов:
Длина = 2 байта
Крипт = 1 байт (0-не закриптован/1-закриптован)
Опкод = 2 байта
Тело = Остальные байты
Для логина и гейм одинаковая структура.

Receive
Send
Ответ
#2
Сможет кто то помочь?
Ответ
#3
для начала вы должны понять:
1. данные от клиента идут постоянным потоком, и для корректного чтения необходимо "выкусывать" пакет по размеру в его заголовке и обрабатывать
2. данные одного пакета могут приходить частями, поэтому все что пришло от сокета вам необходимо положить в условно говоря общий буфер, и "выкусывать" уже с него
3. надо удостоверится, что перед отправкой нового пакета, данные старого полностью были записаны
Ответ
#4
KID Написал:для начала вы должны понять:
1. данные от клиента идут постоянным потоком, и для корректного чтения необходимо "выкусывать" пакет по размеру в его заголовке и обрабатывать
2. данные одного пакета могут приходить частями, поэтому все что пришло от сокета вам необходимо положить в условно говоря общий буфер, и "выкусывать" уже с него
3. надо удостоверится, что перед отправкой нового пакета, данные старого полностью были записаны

в теории я понимаю, но на практике ничего не выходит
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)