HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #33  
Старый 19.02.2023, 00:28
AdCKuY_DpO4uLa
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами: 4091290

Репутация: 213
По умолчанию

Цитата:
Сообщение от _=Gigant=_  

Simple samp query using imgui server address and socket api

Код:
ImGui::Begin("Server Info");

// Create a socket to communicate with the server
int sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);

// Specify the server's address and port
sockaddr_in addr = { 0 };
addr.sin_family = AF_INET;
addr.sin_port = htons(7777);
inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr);

// Send a SAMP Query packet to the server
char query[] = { 'S', 'A', 'M', 'P', ' ', '0', 'x', '54', '4F', '4D', '50', '\0' };
sendto(sock, query, sizeof(query), 0, (sockaddr*)&addr, sizeof(addr));

// Wait for a response from the server
char buffer[2048] = { 0 };
int len = sizeof(sockaddr_in);
recvfrom(sock, buffer, sizeof(buffer), 0, (sockaddr*)&addr, &len);

// Parse the response and display the server info
ImGui::Text("Server Name: %s", buffer + 11);
ImGui::Text("Players Online: %d", *(int*)(buffer + 19));
ImGui::Text("Game Mode: %s", buffer + 23);
ImGui::Text("Language: %s", buffer + 39);
ImGui::Text("Weather: %d", *(int*)(buffer + 43));
ImGui::Text("Time: %d:%02d", *(int*)(buffer + 47), *(int*)(buffer + 51));
ImGui::Text("Ping: %d", *(int*)(buffer + 83));

ImGui::End();
Query Mechanism - SA-MP Wiki

sampwiki.blast.hk
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.