Форум: "Начинающим";
Текущий архив: 2011.06.12;
Скачать: [xml.tar.bz2];
Внизкак установить связь по протоколу 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c