- 175
- 295
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Думаю всем все понятно как это работает
Что использовалось?
TcpClient
NetworkStream
Encoding
Encoding.ASCII.GetBytes()
Код:
Что использовалось?
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;
}
}
}
Последнее редактирование: