![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как установить связь по протоколу UDP с сервером движков hl (cs [D7, XP]
ZeaL © (2011-02-04 08:55:00)уже ломаю голову неск. месяцев, перепробовал все. но ничего не выходит.
знающие люди помогите разобраться
то есть мне главное установить связь с сервером. и отправить на него строку.
#$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;
RWolf (2011-03-05 09:10:00) [1]
> Все тему можно считать закрытой!
разумеется, нельзя — этот код не решает поставленной задачи.
протокол получения списка игроков в контре малость посложнее, чем «передать пакет–принять пакет».
han_malign (2011-03-05 08:58:00) [2]
> то есть мне главное установить связь с сервером. и отправить на него строку.
- угу, то есть как пройти авторизацию/аутентификацию(и возможно еще какую-нибудь противоботовую защиту) ты знаешь?
Для начала посмотрел бы трафик снифером, и хотя бы убедился - что там действительно UDP используется...
> что для связи с сервером используется клиент.
- UDP - протокол без установления соединения(connectionless) - никаких клиентов и серверов нет.
Там всего то (winsock):
bind, sendto, recvfrom и по вкусу ioctlsocket(... FIONBIO/FIONREAD ...), да setsockopt(... SO_BROADCAST ...)
- а дальше либо придет пакет, либо заблудится - уж как получится...
sniknik (2011-03-05 08:03:00) [3]> Все тему можно считать закрытой!
а что у тебя изменилось с точки зрения работы с UDP а не отображения принятого?
вообще проблемы типа "ничего не выходит" так не решаются, обычно... тут больше метод из [3] подходит.
Плохиш (2011-03-05 03:54:00) [4]
> Плохиш я бы на твоем месте не острил!
Сначала попади на него.
> Если не знаешь программирование лучше молчи!
Где уж мне до вас, крутых программеров..
Данил (2011-03-05 01:47:00) [5]Удалено модератором
Примечание: Автор сам решит для своей темы, и ты не приказывай кому молчать, а кому нет, это все против тебя обернется в первую очередь
Сергей М. (2011-02-04 09:59:00) [6]Быстрее, проще и дешевле нанять программиста
Плохиш (2011-02-04 09:21:00) [7]Несколько меесяцев не может понять, что для связи с сервером используется клиент.
Dennis I. Komarov (2011-02-04 09:11:00) [8]см. тут:
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1287578394&n=4