07-25-2016, 10:55 PM
Ну да, если опкоды поменяются, то куда лучше по каждому файлу лазить. )
PROTOCOL_LOBBY_CHATTING_ACK
|
07-25-2016, 10:55 PM
Ну да, если опкоды поменяются, то куда лучше по каждому файлу лазить. )
07-25-2016, 11:00 PM
PROGRAMMATOR Написал:Ну да, если опкоды поменяются, то куда лучше по каждому файлу лазить. ) > ПБ > Поменяются опкоды Я еще не помню такого случая что бы все иды под чистую изменили, разве что с выходом пирсинга все "глобально" изменили. Когда клиент с новым интерфейсом на арабском сервере только вышел(в году 2011), там вообще по моему отличий на пакетном уровне не было от старых версий
07-25-2016, 11:28 PM
Ну вот, раз уже было.
Да норм всё, добавил пакет, внес его имя, опкод и забыл.
07-25-2016, 11:31 PM
PROGRAMMATOR Написал:Ну вот, раз уже было. Приходит пакет -> Ищем ид в enum списке -> По иду вытаскиваем название -> По названию ищем и вызываем класс с логикой пакета Я верно понял вашу систему?
07-26-2016, 12:46 AM
partyvan,
Да так и есть. Другие варианты просто извращены тогда...... Хотя у меня так же HandlePacket клиентский построен
07-26-2016, 04:44 AM
[SRC="csharp"]PacketOpcode Id;
if (Enum.TryParse(GetType().Name, out Id)) { // ... } else { // ... } [/SRC]
07-26-2016, 12:16 PM
Awiion Написал:Boris2105, Смотри лучше. Почему то к нику прибавляются китайские иероглифы . [SRC=CSharp] public void WriteUnicode(string text, int count) { if (text != null) { WriteB(Encoding.GetEncoding(1200).GetBytes(text)); WriteB(new byte[count - (text.Length)]); } } Logger.Instance.Info("Message:{0}, Name:{1}", _message, _player.Name); WriteD(_player.Id); WriteC(_player.Name.Length); WriteUnicode(_player.Name, _player.Name.Length); WriteC(0); WriteC(0); WriteH(_message.Length); WriteUnicode(_message, _message.Length); [/SRC]
07-26-2016, 12:51 PM
Boris2105, WriteUnicode не верный, в твоем случае тогда так:
Код: WriteC((byte)(_player.Name.Length + 1));
07-26-2016, 01:24 PM
Awiion Написал:Boris2105, WriteUnicode не верный, в твоем случае тогда так: а ты не мог бы дать верный? |
« Предыдущая | Следующая »
|