Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];

Вниз

Немогу принять ответ сервера UDP   Найти похожие ветки 

 
Sn   (2004-05-30 19:51) [0]

У меня такая проблема:
У нас по сетке частенько играют в Couter-Strike.
Я решил сделать что то вроде сканера этой игры чтоб довала знать когда кто то
создал игру(т.е. сервер) и играет. Думал это будет просто. Возьму снифер отловлю запрос который
надо послать, потом пошлю его своей прогой и получу ответ после чего она (прога) обработает
принятую инфу и даст мне знать что и как. Так вот, запрос я отволил (яяяяinfostring)узнал и
порт и протокол (UDP, порт 27015). Ну думаю дело сделано. Быстренько скрутил пробный вариант
проги (для теста) послал запрос широковещательно по адресу 255.255.255.255 (IdUDPClient1.Send(Edit4.Text);)
и посмотрел по сниферу куда приходит овет, приходит он на этот же порт (27015). Но вот беда я не могу получить
этот ответ своей прогой. прочитал в инете статью про создание UDP чата и сделал подобный обработчик приходящих
сообщений. Но это не помогло, я принимаю свойже запрос и запросы других клиентов (игры Couter-Strike)
но вот ответ который мне посылает мне сервер Couter-Strike я по прежнему принять не могу.
даже незнаю вчем тут дело. дайте пожалуста совет или кусочек кода чтоб принять эту строку. вот нужная мне
строка (отловленая снифером):

0030:  66 6F 73 74 72 69 6E 67 72 65 73 70 6F 6E 73 65 fostringresponse
0040:  00 5C 70 72 6F 74 6F 63 6F 6C 5C 34 36 5C 61 64 .\protocol\46\ad
0050:  64 72 65 73 73 5C 31 30 2E 31 2E 30 2E 34 30 3A dress\10.1.0.40:
0060:  32 37 30 31 35 5C 70 6C 61 79 65 72 73 5C 33 5C 27015\players\3\
0070:  70 72 6F 78 79 74 61 72 67 65 74 5C 30 5C 6C 61 proxytarget\0\la
0080:  6E 5C 31 5C 6D 61 78 5C 33 32 5C 67 61 6D 65 64 n\1\max\32\gamed
0090:  69 72 5C 43 53 54 52 49 4B 45 5C 64 65 73 63 72 ir\CSTRIKE\descr
00A0:  69 70 74 69 6F 6E 5C 43 6F 75 6E 74 65 72 53 74 iption\CounterSt
00B0:  72 69 6B 65 5C 68 6F 73 74 6E 61 6D 65 5C 4C 65 rike\hostname\Le
00C0:  65 5C 6D 61 70 5C 63 73 5F 61 73 73 61 75 6C 74 e\map\cs_assault
00D0:  5C 74 79 70 65 5C 6C 5C 70 61 73 73 77 6F 72 64 \type\l\password
00E0:  5C 30 5C 6F 73 5C 77 5C 73 65 63 75 72 65 5C 30 \0\os\w\secure\0
00F0:  5C 6D 6F 64 5C 31 5C 6D 6F 64 76 65 72 73 69 6F \mod\1\modversio
0100:  6E 5C 31 5C 73 76 6F 6E 6C 79 5C 30 5C 63 6C 64 n\1\svonly\0\cld
0110:  6C 6C 5C 31 00                                  ll\1.

и вот мой обработчик приема (который ее не ловит)

procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
 ABinding: TIdSocketHandle);

 var StringFormatedStream: TStringStream;
begin
StringFormatedStream := TStringStream.Create("");
StringFormatedStream.CopyFrom(AData, AData.Size);
Memo1.Lines.Add(ABinding.PeerIP+"  "+StringFormatedStream.DataString);
StringFormatedStream.Free;
end;  

P.S. Да чуть незабыл для работы я использую Delphi 6  и компоненты IdUDPServer( для приема) и IdUDPClient(для передачи запроса)


 
Erik1   (2004-05-31 11:24) [1]

Просто здорово, а один компонент использовать нехочеш?!


 
Sn   (2004-05-31 15:38) [2]

Там в клиенте всего одно событие (OnStatus) как его обрабатывать?



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.029 c
6-1086031136
Erazzzer
2004-05-31 23:18
2004.08.01
Indy 10


1-1090103668
Volk
2004-07-18 02:34
2004.08.01
Слово


3-1089033344
Terminus
2004-07-05 17:15
2004.08.01
ZeosDBO. Несколько запросов


1-1090416204
~ShamaN~
2004-07-21 17:23
2004.08.01
Quick Report


4-1086938374
leonidus
2004-06-11 11:19
2004.08.01
Плавающее окошко как у FlashGet





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский