誰かが、クライアントがwebsocketサーバーに送信するメッセージのエンコードタイプを知っていますか?クライアントがwebsocketサーバーにメッセージを送信する際のエンコーディングタイプは何ですか?
は、私はこのサイト
http://blogs.claritycon.com/blog/2012/01/18/websockets-with-rfc-6455/
と、このサイトは私を教え、以下のサーバ側でクライアントからメッセージを取得するためにコードをデコードしているから
を勉強しています!public string HybiDecode(byte[] data)
{
byte firstByte = data[0];
byte secondByte = data[1];
int opcode = firstByte & 0x0F;
bool isMasked = ((firstByte & 128) == 128);
int payloadLength = secondByte & 0x7F;
if (!isMasked) { return null; } // not masked
if (opcode != 1) { return null; } // not text
List<int> mask = new List<int>();
for (int i = 2; i < 6; i++)
{
mask.Add(data[i]);
}
int payloadOffset = 6;
int dataLength = payloadLength + payloadOffset;
List<int> unmaskedPayload = new List<int>();
for (int i = payloadOffset; i < dataLength; i++)
{
int j = i - payloadOffset;
unmaskedPayload.Add(data[i]^mask[j % 4]);
}
return ToAscii(unmaskedPayload.Select(e => (byte)e).ToArray());
}
public string ToAscii(byte[] data)
{
System.Text.ASCIIEncoding decoder = new System.Text.ASCIIEncoding();
return decoder.GetString(data, 0, data.Length);
}
私はToAscii()をC言語に変換する必要があるため、現在はC言語で学習しています。 ...何から?ユニコードからASCIIへ、またはutf-8からASCIIへ??? これについて知っていれば教えていただけますか?
私はUbuntu Linuxを使用しています。私はこれがutf-8システムだと知っています。 あなたはサーバー側のデータを見るために変換が必要ないということですか? p.s:私は矢を上げることができる少しの評判を得た! ^^今日あなたの多くの種類の答えに感謝します! – nathan
私は終わった!ありがとうございました!! – nathan