Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.06.12;
Скачать: CL | DM;

Вниз

как установить связь по протоколу UDP с сервером движков hl (cs   Найти похожие ветки 

 
ZeaL ©   (2011-02-04 08:55) [0]

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

то есть мне главное установить связь с сервером. и отправить на него строку.
#$FF + #$FF + #$FF + #$FF+"TSource Engine Query"

после чего мне должен придти ответ в виде данных о сервере (список игроков, карта, протокол, название)

пробовал через IndyUDPServer.

ну и наверное можно добавить то что я писал в код

procedure TForm1.Button1Click(Sender: TObject);
begin
try
IdUDPServer1.Active:=true;
IdUDPServer1.Send("IP",PORT,#$FF + #$FF + #$FF + #$FF+"TSource Engine Query");
except
end;
end;

procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
begin
Memo1.Lines.LoadFromStream(AData);
end;


 
Dennis I. Komarov ©   (2011-02-04 09:11) [1]

см. тут:

http://delphimaster.net/view/6-1287578394/


 
Плохиш ©   (2011-02-04 09:21) [2]

Несколько меесяцев не может понять, что для связи с сервером используется клиент.


 
Сергей М. ©   (2011-02-04 09:59) [3]

Быстрее, проще и дешевле нанять программиста


 
Данил   (2011-03-05 01:47) [4]

Удалено модератором
Примечание: Автор сам решит для своей темы, и ты не приказывай кому молчать, а кому нет, это все против тебя обернется в первую очередь


 
Плохиш ©   (2011-03-05 03:54) [5]


> Плохиш я бы на твоем месте не острил!

Сначала попади на него.

> Если не знаешь программирование лучше молчи!

Где уж мне до вас, крутых программеров..


 
sniknik ©   (2011-03-05 08:03) [6]

> Все тему можно считать закрытой!
а что у тебя изменилось с точки зрения работы с UDP а не отображения принятого?

вообще проблемы типа "ничего не выходит" так не решаются, обычно... тут больше метод из [3] подходит.


 
han_malign   (2011-03-05 08:58) [7]


> то есть мне главное установить связь с сервером. и отправить на него строку.

- угу, то есть как пройти авторизацию/аутентификацию(и возможно еще какую-нибудь противоботовую защиту) ты знаешь?

Для начала посмотрел бы трафик снифером, и хотя бы убедился - что там действительно UDP используется...


> что для связи с сервером используется клиент.

- UDP - протокол без установления соединения(connectionless) - никаких клиентов и серверов нет.
Там всего то (winsock):
 bind, sendto, recvfrom и по вкусу ioctlsocket(... FIONBIO/FIONREAD ...), да setsockopt(... SO_BROADCAST ...)
- а дальше либо придет пакет, либо заблудится - уж как получится...


 
RWolf ©   (2011-03-05 09:10) [8]


> Все тему можно считать закрытой!

разумеется, нельзя — этот код не решает поставленной задачи.
протокол получения списка игроков в контре малость посложнее, чем «передать пакет–принять пакет».



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

Текущий архив: 2011.06.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.007 c
15-1298291318
Baks
2011-02-21 15:28
2011.06.12
Уникальный идентификтор компьютера


15-1298472861
dlp65
2011-02-23 17:54
2011.06.12
Контрольные суммы


2-1299310206
Alex_C
2011-03-05 10:30
2011.06.12
Согласованность получения данных


15-1298554260
JohnKorsh
2011-02-24 16:31
2011.06.12
Константы в Си.


15-1298041715
Leonid Troyanovsky
2011-02-18 18:08
2011.06.12
Гугль рулит