Есть сервер на С# и клиент на скрипте. Данные от сервера отправляются хорошо, а вот с приемом разобраться не могу
Со стороны серера:
SCRascodirovat(socket.Receive(bytes))
static string SCRascodirovat(int get)
{
String data = null;
data += Encoding.UTF8.GetString(bytes, 0, get);
return data;
}
Со стороны клиента:
socket.send("123");
Вместо данных от клиента приходит всякая лобуда, хотя с отправкой сообщения клиенту проблем нет и ответное рукопожатие проходит стабильно. Я понимаю что проблема в декодировании сообщения, но не понимаю как правильно.
Уверены, что UTF-8 кодировка ? Попробуйте другие варианты, доступные классу Encoding. Также проблема может быть в неполном получении байтов сообщения либо коротком (либо избыточном, с лишними байтами) буфере байт-массива, в который ведется прием.
Если используется асинхронный прием-передача, то вот кусок кода на асинхронный прием. В strcontent хранится полученная строка.
public void AcceptCallback(IAsyncResult AR)
{
try
{
_clientSocket = _serverSocket.EndAccept(AR);
buffer = new byte[_clientSocket.ReceiveBufferSize];
_clientSocket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReceivedCallback), null);
_serverSocket.BeginAccept(new AsyncCallback(AcceptCallback), null);
}
catch (Exception e)
{
Console.WriteLine("Произошла ошибка: {0}", e.ToString());
}
}
private void ReceivedCallback(IAsyncResult ar)
{
try
{
int received = _clientSocket.EndReceive(ar);
if (received ==0)
{
return;
}
Array.Resize(ref buffer, received);
strcontent = Encoding.ASCII.GetString(buffer);
Array.Resize(ref buffer, _clientSocket.ReceiveBufferSize);
refreshMethod(strcontent);
_clientSocket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReceivedCallback), null);
}
catch (Exception e)
{
Console.WriteLine("Произошла ошибка: {0}", e.ToString());
}
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники