Здравствуйте.
Необходимо отправить по средствам SM Socket такую структуру данных
\xFF\xFF\xFF\xFF\x54Source Engine Query\x00\xD3\x91\x81\x71
где - \xD3\x91\x81\x71 описаны в переменной и данные могут быть другими в процессе работы:
szReceiveData[5] = \xD3;
szReceiveData[6] = \x91;
szReceiveData[7] = \x81;
szReceiveData[8] = \x71;
Возможно дело в \x00 где String его понимает как терминальный ноль (окончание строки) и не передает символы после его на отправку в сокет
Необходимо отправить по средствам SM Socket такую структуру данных
\xFF\xFF\xFF\xFF\x54Source Engine Query\x00\xD3\x91\x81\x71
где - \xD3\x91\x81\x71 описаны в переменной и данные могут быть другими в процессе работы:
szReceiveData[5] = \xD3;
szReceiveData[6] = \x91;
szReceiveData[7] = \x81;
szReceiveData[8] = \x71;
C++:
public int OnSocketReceive(Handle hSocket, const char[] szReceiveData, const int iDataSize, any arg)
{
if (iDataSize == 9)
{
decl String:requestStr[ 64 ];
Format( requestStr, sizeof( requestStr ), "%s", "\xFF\xFF\xFF\xFF\x54Source Engine Query");
НУЖНО ЧТО-ТО ТИПО такого но средствами языка SM что-бы отправить нужный набор бит по сети:
requestStr += \x00;
requestStr += szReceiveData[5];
requestStr += szReceiveData[6];
requestStr += szReceiveData[7];
requestStr += szReceiveData[8];
SocketSend( hSocket, requestStr, 64 );
return;
}
}
Сообщения автоматически склеены:
Возможно дело в \x00 где String его понимает как терминальный ноль (окончание строки) и не передает символы после его на отправку в сокет
Последнее редактирование: