2016-04-20 3 views
0

Я создаю приложение сокета, которое может получать строки из веб-узла внутри веб-страницы. Мне удалось успешно подключить Websocket к моей программе на C#, но когда веб-страница отправляет строку в программу, она, похоже, зашифрована или хеширована каким-то образом.HTML 5 - ответ Cs Websocket

Например, если веб-страница отправляет «Тест», программа выводит «??? 9uu?». Я, очевидно, пропустил здесь шаг, и я не уверен, что я должен искать, чтобы решить эту проблему. Я предполагаю, что строка должна быть расшифрована или помещена через определенную функцию с помощью ключа TCP, чтобы получить фактическую строку?

Код ниже раздел отвечает за получение строки из HTML (оба «Data» и «MyWriter» выход ту же строку):

while (true)  
{ 
    CollectedBytes = new byte[128]; 
    stream.Read(CollectedBytes, 0, CollectedBytes.Length); 
    string Data = Encoding.ASCII.GetString(CollectedBytes, 0, CollectedBytes.Length); 

    Output.Speak("Message: " + Data); 

    StringWriter MyWriter = new StringWriter(); 
    HttpUtility.HtmlDecode(Data, MyWriter); 

    Output.Speak("Message: " + MyWriter.ToString()); 

    // The word "Test" should output here 
    // But instead "???9uu?\" is. 
} 

Я предполагаю, что я пропускаю простой шаг, но я везде искал и не могу найти ничего, чтобы помочь мне! Если кто-нибудь может дать мне рекомендации относительно того, что я должен делать, это было бы здорово :)

Заранее спасибо.

+0

Возможно, кодировка ваших данных не ASCII. Вы пробовали UTF8 или UTF16? – Eser

+0

Я дам это сейчас, я считаю, что я пробовал UTF8, но не UTF16. Я отправлю отчет – Waldy

+0

Я просто попытался изменить кодировку данных на каждый доступный тип, все они выдают тип зашифрованного или закодированного текста, как и раньше ... Я действительно чувствую, что я пропускаю что-то каждое простое я просто не знаю, что искать, чтобы исправить эту проблему. – Waldy

ответ

0

Вы пытаетесь декодировать данные вручную без использования какой-либо библиотеки WebSocket? Если это так, вы должны знать, что часть полезных данных из фреймов WebSocket от клиентов: masked. См. RFC 6455, 5.3. Client-to-Server Masking.

Смежные вопросы