C# Исходник Запрос команды на сервер SAMP

Savok

Потрачен
Автор темы
178
292
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Думаю всем все понятно как это работает
Что использовалось?
TcpClient
NetworkStream
Encoding
Encoding.ASCII.GetBytes()

Код:
Код:
using System;
using System.Net.Sockets;
using System.Text;

public class SampRcon
{
    private const int SAMP_RCON_PORT = 7777;

    public static void Main(string[] args)
    {
        string hostName = "localhost"; // Имя хоста сервера
        string password = "rcon_password"; // Пароль rcon
        string command = "Hello, world!"; // Команда которую нужно выполнить

        string response = ExecuteCommand(hostName, password, command);

        Console.WriteLine(response);
    }

    public static string ExecuteCommand(string hostName, string password, string command)
    {
        try
        {
            // Получаем IP сервера
            var addresses = System.Net.Dns.GetHostAddresses(hostName);
            var address = addresses[0];

            // Создаем точку подключения
            var endPoint = new System.Net.IPEndPoint(address, SAMP_RCON_PORT);

            // Создаем TCP-клиент и подключаемся к серверу
            using (var client = new TcpClient())
            {
                client.Connect(endPoint);

                // Получаем поток для записи и чтения данных
                var stream = client.GetStream();

                // Отправляем пароль rcon
                var passwordBytes = Encoding.ASCII.GetBytes(password);
                stream.Write(passwordBytes, 0, passwordBytes.Length);

                // Отправляем команду
                var commandBytes = Encoding.ASCII.GetBytes(command);
                stream.Write(commandBytes, 0, commandBytes.Length);

                // Читаем ответ сервера
                var buffer = new byte[1024];
                var bytesRead = stream.Read(buffer, 0, buffer.Length);

                var response = Encoding.ASCII.GetString(buffer, 0, bytesRead);

                return response;
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            return null;
        }
    }
}
 
Последнее редактирование: