Показать сообщение отдельно
Старый 15.07.2011, 22:34   #4
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

supernewbie, нет, дело совсем не в этом, ибо 1) я же дошел уже до EnterWorld. 2) Я написал, что анализирую пакеты сразу после того как их получаю и там уже сразу они слишком большие.


xkor, вот WMSOCK_RS_EVENT, в котором я принимаю пакеты (прошу не обращать внимания на всякие тупости, связанные с RecvPktCount и numpck, ибо это лишь тестовая версия ):

Код:
procedure TForm1.WMSOCK_RS_EVENT(var Msg: TMessage);
var
  SockError: integer;
  Len:integer;
  s : string;
begin
  //проверка на ошибки
  SockError:=WSAGetSelectError(Msg.lParam);
  if (SockError<>0) then begin
    if SockError=10053 then RichEdit1.Lines.Add('RS was Disconnected')
    else RichEdit1.Lines.Add('RS error: '+inttostr(SockError));
    CloseSock(RS_sock);
    Exit;
  end;
  //если нет ошибок:
  case WSAGetSelectEvent(Msg.lParam) of
    FD_Read: begin
      FillChar(main_buff,Length(main_buff),0);
      Len:=recv(RS_Sock,main_buff,MAX_PKT_SIZE,0);
      s := IntToStr(numpck) + '.txt';
      numpck := numpck + 1;

      if numpck > 100 then numpck := 101;
    //  SaveBuf(s, len);
      inc(RecvPktCount);
      if RecvPktCount > 13 then RecvPktCount := 14;

      if RecvPktCount <= 4
        then LS_parser(main_buff,Len)
        else GS_parser(main_buff,Len);

    end;
    FD_Close: begin
      RichEdit1.Lines.Add('RS was Disconnected');
      CloseSocket(RS_Sock);
    end;
  end;
end;
Собственно из этого всего главная строка:
Len:=recv(RS_Sock,main_buff,MAX_PKT_SIZE,0);

и вот main_buff (main_buff: array[0..MAX_PKT_SIZE-1] of byte) у меня и заполняется до 11 или 16 кбайт

Вот, кстати, лог пакетов с моей программы (первых 2 после EnterWorld, а точнее 1 и лишь маленький кусок второго).
Пакеты декодированы:

Код:
Server MSG, Length: 200 (0xC8)
-------------------------------------------------------
0x0000| C8 00 0C DE BF 50 10 AC BF 0F 00 00 00 00 00 08 
0x0010| 15 00 00 C8 9D FF FF 5A F4 FF FF A8 F5 00 00 00 
0x0020| 00 00 00 F4 01 00 00 16 01 00 00 84 00 00 00 58 
0x0030| 00 00 00 84 00 00 00 58 00 00 00 84 00 00 00 58 
0x0040| 00 00 00 84 00 00 00 58 00 00 00 00 00 00 A0 99 
0x0050| 99 F1 3F EC 5F A8 52 B3 07 F0 3F 00 00 00 00 00 
0x0060| 00 F0 3F 00 00 00 00 00 00 89 40 00 00 00 00 00 
0x0070| 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 
0x0080| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0x0090| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0x00A0| 02 00 00 00 00 00 00 00 F0 3F 00 00 00 00 00 00 
0x00B0| 89 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0x00C0| 00 00 01 01 00 00 00 00                         


Server MSG, Length: 1231 (0x4CF)
-------------------------------------------------------
0x0000| 1F 00 2F DE BF 50 10 C8 1D 00 00 88 9B FF FF 49 
0x0010| F4 FF FF 08 15 00 00 C8 9D FF FF 4A F4 FF FF ED 
0x0020| F9 4C 10 CD E5 8E D0 73 9A EC B7 B8 92 A0 55 49 
0x0030| A6 40 85 FC 58 61 48 19 6A 13 36 C8 92 A0 CD 5D 
0x0040| A6 40 49 52 A7 9E 3E EA 95 EC 0A B8 92 A0 95 5D 
0x0050| A6 40 01 53 A7 9E 70 EB 95 EC 0A B8 92 A0 95 5D 
0x0060| A6 40 01 53 A7 9E 70 EB 95 EC B6 B8 92 00 54 C4 
0x0070| 57 7F 51 0C 0F CC 9B EC 65 D3 B6 B8 92 A0 CD 5D 
0x0080| 88 00 BD 53 A7 3E B1 72 D7 AC B6 B8 92 A0 CD 5D 
0x0090| A6 40 BD 53 A7 9E 29 EB 95 EC B6 B8 92 A0 CD 5D 
0x00A0| A6 40 BD 53 A7 9E 28 EB 95 EC B6 B8 92 A0 CD 5D 
0x00B0| A6 40 BD 53 A7 9E 28 EB 95 EC B6 B8 92 A0 CD 5D 
0x00C0| A6 40 BD 53 A7 9E 28 C5 D5 EC B6 B8 32 39 54 1F 
0x00D0| E6 40 BD 53 A7 9E 28 EB 95 EC B6 B8 92 A0 CD 5D 
0x00E0| A6 41 BC 53 A7 9E 28 17 0B 8D 58 8C 4F 11 71 37 
0x00F0| 68 17 FA F9 38 3F 64 0B 54 81 DF BC F2 FE 21 5D 
0x0100| 98 E8 FB 79 38 3F 6C 19 54 81 03 13 0D 01 9F AE 
0x0110| 67 17 47 F9 38 3F 34 19 54 81 4B 12 0D 01 D1 AF 
0x0120| 67 17 47 F9 38 3F 34 19 54 81 4B 12 0D 01 D1 AF 
0x0130| 67 17 FB F9 38 9F F5 80 A5 BE 1B 4D A5 53 3A A8 
0x0140| 97 28 FB F9 38 3F 6C 19 7A C1 F7 12 0D A1 10 36 
0x0150| 25 57 FB F9 38 3F 6C 19 54 81 F7 12 0D 01 88 AF 
0x0160| 67 17 FB F9 38 3F 6C 19 54 81 F7 12 0D 01 89 AF 
0x0170| 67 17 FB F9 38 3F 6C 19 54 81 F7 12 0D 01 89 AF 
0x0180| 67 17 FB F9 38 3F 6C 19 54 81 F7 12 0D 01 89 81 
0x0190| 27 17 FB F9 98 A6 F5 5B 14 81 F7 12 0D 01 89 AF 
0x01A0| 67 17 FB F9 38 3F 6C 19 54 80 F6 12 0D 01 89 6E 
0x01B0| F9 4C 0D CD E5 8E D0 73 9A 10 B1 B8 92 A0 25 4F 
0x01C0| A6 40 B5 FC 58 61 48 19 6A EF AB 55 92 A0 CD 5D 
0x01D0| A6 40 49 52 A7 9E 3E EA 95 10 0C B8 92 A0 95 5D 
0x01E0| A6 40 01 53 A7 9E 70 EB 95 10 0C B8 92 A0 95 5D 
0x01F0| A6 40 01 53 A7 9E 70 EB 95 10 B0 B8 92 00 54 C4 
0x0200| 57 7F 51 0C 0F CC 9B EC 65 2F B0 B8 92 A0 CD 5D 
0x0210| 88 00 BD 53 A7 3E B1 72 D7 50 B0 B8 92 A0 CD 5D 
0x0220| A6 40 BD 53 A7 9E 29 EB 95 10 B0 B8 92 A0 CD 5D 
0x0230| A6 40 BD 53 A7 9E 28 EB 95 10 B0 B8 92 A0 CD 5D
...............
...............
...............
...............
А вот лог первых 3 пакетов после EnterWorld в l2phx, который перехватывает мою прогу для того же соединения:
Код:
03810660417CE4E340 C800 0C DEBF5010ACBF0F000000000008150000C89DFFFF5AF4FFFFA8F5000000000000F4010000160100008400000058000000840000005800000084000000580000008400000058000000000000A09999F13FEC5FA852B307F03F000000000000F03F000000000000894000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000F03F000000000000894000000000000000000000000000000000010100000000
03251960417CE4E340 1F00 2F DEBF5010C81D0000889BFFFF49F4FFFF08150000C89DFFFF4AF4FFFF
03CA2B60417CE4E340 C800 0C AD9E4210F8980F00010000009814000038AFFFFF60F2FFFF8070000000000000F401000016010000BC00000058000000BC00000058000000BC00000058000000BC00000058000000000000A09999F13FEC5FA852B307F03F0000000000002E40000000A099994240000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002E40000000A09999424000000000000000000000000000000000010100000000
Как видно, в моей проге первый пакет показывает нормально, второй пакет в принципе тоже, а вот третий как-то накладывается на второй, причем в нем уже не найти начало, то ли я вообще хз...

Последний раз редактировалось Kilatif, 15.07.2011 в 23:30.
Kilatif вне форума   Ответить с цитированием