Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 11.04.2015
Сообщений: 55

Лаунчер для игры должен отправлять пакеты на сервер и слушать ответы

09.05.2015, 20:44. Показов 3105. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые форумчане. Нужно сделать лаунчер для игры, на с++ билдере. Он должен отправлять пакеты на сервер и слушать ответы. В клиент-серверном программировании - дуб. Это первое творение). Объясните как отправлять и слушать пакеты. Заранее спасибо за инфу и отсутствие школо-тролей).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.05.2015, 20:44
Ответы с готовыми решениями:

Написать приложение, которое будет отправлять XHR запросы на сервер и получать ответы
Здравствуйте, пишу на qml. Захотелось научиться написанию приложения которое будет отправлять XHR запросы на сервер и получать ответы. Для...

Сервер должен отправлять клиенту отчет о получении файла
Суть такова. Есть клиент, который отправляет файл на сервер. Сервер должен принять файл, сохранить, и отправить клиенту отчет о загрузке. ...

Батник должен отправлять все архивы на FTP-сервер, но отправляет только один
Всем привет. Нужна помощь! Задачка такая, есть батник который должен с компа отправлять архивы на фтп, но отправляет не все, а только 1....

28
1 / 1 / 0
Регистрация: 11.04.2015
Сообщений: 55
10.05.2015, 15:38  [ТС]
Студворк — интернет-сервис помощи студентам
нашел такую штуку, но с каждым новым стартом программы выдает разные числа...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
TcpClient1->Connect();
    TcpClient1->Open();
    void *ans [7];
    TcpClient1->SendBuf( (void*)"x05, 0x00, 0x15, 0x0C, 0x00", 5);
    TcpClient1->Close();
    TcpClient1->ReceiveBuf(ans, 7);
 
    int *intPtr = (int *)ans;
 
    /*String s = "";
        for ( int i = 0; i < 7; i++ )
        {
                s += "0X" + IntToHex(ans[i], 2) + " ";
        }
        Memo1->Lines->Add(s);  */
    ShowMessage(*intPtr);
Добавлено через 1 минуту
твой код выдал в мемо это). 0X21D0FF0 0X260F7A 0X18F354 0X00 0X00 0X21D1300 0X260F7A

Добавлено через 10 секунд
это что)))?

Добавлено через 38 секунд
07 00 15 0D 04 A4 03 что то типо этого должно быть)))

Добавлено через 3 минуты
ок, я не буду его смотреть, но как мне производить операции с определенными байтами)? тоесть ans [5] быйт который мне нужен, и мне его надо вставить в следующий запрос. как)?

Добавлено через 3 минуты
допустим мне нужно с ними проводить мат. операции и т.д.

Добавлено через 15 секунд
- Получаем ответ от сервера с ключами :
07 00 15 0D 04 A4 03
где :
04 = PlusKey
A4 = XORKey
Дальше идёт корейский мега-ход-конём =))
PlusKey = PlusKey + 1
XORKey = XORKey + 3

Добавлено через 19 минут
скачал впе про, смотю трафик. программа отправляет вообще не то что надо

Добавлено через 1 минуту
она отправляет стоку а не байты.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
10.05.2015, 15:58
Лучший ответ Сообщение было отмечено primerb как решение

Решение

Цитата Сообщение от primerb Посмотреть сообщение
TcpClient1->SendBuf( (void*)"x05, 0x00, 0x15, 0x0C, 0x00", 5);
C++
1
TcpClient1->SendBuf( (void*)"\x05\x00\x15\x0C\x00", 5);
Добавлено через 1 минуту
Цитата Сообщение от primerb Посмотреть сообщение
TcpClient1->ReceiveBuf(ans, 7);
так нельзя, нужно ловить ответ в OnRead

Добавлено через 2 минуты
Цитата Сообщение от primerb Посмотреть сообщение
TcpClient1->Close();
зачем закрываешь?
1
1 / 1 / 0
Регистрация: 11.04.2015
Сообщений: 55
10.05.2015, 16:04  [ТС]
Цитата Сообщение от kzru_hunter Посмотреть сообщение
нужно ловить ответ в OnRead
как это сделать)?

Добавлено через 25 секунд
Цитата Сообщение от kzru_hunter Посмотреть сообщение
зачем закрываешь?
если не закрывать, програма лагает, и "не отвечает"

Добавлено через 2 минуты
спасибо, теперь шлет правильный пакет. как получить встаки ответ, допустим в массив char [64] или unsigned char [64]

Добавлено через 1 минуту
есть воттакое TcpClient1->OnReceive

Добавлено через 2 минуты
C++
1
char ans = TcpClient1->OnReceive;
E2034 Cannot convert 'TSocketDataEvent' to 'char'
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
10.05.2015, 16:09
Посмотри видео: http://rutracker.org/forum/viewtopic.php?t=2355818
Смотрел давно, ничего сложного.
1
1 / 1 / 0
Регистрация: 11.04.2015
Сообщений: 55
10.05.2015, 16:23  [ТС]
слуш, спасибо за видос. а как мне сделать операцию xor)??? у меня есть переменная стринг и ее нужно XOR 0x08 типо того. как )?
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
10.05.2015, 16:33
Лучший ответ Сообщение было отмечено primerb как решение

Решение

Цитата Сообщение от primerb Посмотреть сообщение
у меня есть переменная стринг и ее нужно XOR 0x08 типо того
Вот пример:
C++
1
2
3
4
5
6
7
8
        String SourceString = "Hello";
        String DestString = SourceString;
 
        for ( int i = 1; i < DestString.Length(); i++)
        {
                DestString[i] = DestString[i] ^ 0x8;
        }
        ShowMessage(DestString);
1
1 / 1 / 0
Регистрация: 11.04.2015
Сообщений: 55
10.05.2015, 17:21  [ТС]
спс биг.)))

Добавлено через 1 минуту
но я все равно не понял как правильно получать байты в ответ))))) ибо на видео тоже 6 билдер, и таких свойств у меня нет.

Добавлено через 3 минуты
нужно из воида както конвертнуть в инт

Добавлено через 10 минут
но та конверсия которую ты кидал раньше возращает бред, а в впе пакет видиться нормально)
0
place status here
 Аватар для gunslinger
3187 / 2221 / 640
Регистрация: 20.07.2013
Сообщений: 6,017
10.05.2015, 17:54
Если я не туплю - тебе нужно что-то подобное (это шаблон, буквально его понимать не нужно: вместо int может быть другой тип и, соответственно, значение) ?
C++
1
2
3
4
5
6
7
8
9
10
11
void MyFunc (int from, int &to)
{
  int *temp = &to;
  *temp = from;
}
 
//---------------------------------------------------------------------------
 
//  далее в коде
  int to, from = 5;
  MyFunc (from, to);  // to примет значение from, т.е. 5 в данном примере
0
1 / 1 / 0
Регистрация: 11.04.2015
Сообщений: 55
10.05.2015, 18:07  [ТС]
мне нужен код, как принять ответ от сервера и конвертнуть его в char или int)) щ

Добавлено через 45 секунд
я ваще не понял как принять ответ от сервера правильно(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.05.2015, 18:07
Помогаю со студенческими работами здесь

Лаунчер для online - игры
Есть одна игра Love Beat (Тайская Версия) и чтобы попасть игру,нужно залогинится на сайте игры. Сайт игры:...

Лаунчер для игры + мониторинг
Здравствуйте Я зделал лаунчер для онлайн игры но мне нужно сделать мониторинг этой игры чтобы выглядиило так Server: ...

Лаунчер для игры MineCraft
Нашел интересный Батник запуска игры (Майнкрафт) , созданный человеком под ником KRON. Суть в наличии меню и вызове другого батника для...

Как сделать лаунчер для игры?
Делаю игру на unity. Вот хочу сейчас закинуть сырую бетку в интернет. Подскажите, как сделать к ней лаунчер. В общем, планирую потихоньку...

Лаунчер для игры + мониторинг + новости
Лаунчер для игры + мониторинг Здравствуйте Я зделал лаунчер для онлайн игры но мне нужно сделать мониторинг этой игры чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru