gpt4 book ai didi

html - 客户端向 websocket 服务器发送消息时的编码类型是什么?

转载 作者:可可西里 更新时间:2023-11-01 12:52:14 24 4
gpt4 key购买 nike

有人知道客户端发送到 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);
}

但是我现在在学习C语言所以我必须将ToAscii()转换成C语言!但是……来自什么?从 unicode 到 ASCII 或从 utf-8 到 ASCII???如果您知道这件事,可以告诉我吗???

最佳答案

消息以 utf-8 格式传输。参见 section 5.6规范的详细信息。

这取决于您在服务器中使用何种编码。 UTF-8 在 C 中很容易处理(它仍然以单个 nul 字符终止,因此所有字符串函数都可以工作)因此您可能会发现在代码中使用 UTF-8 而不是转换为 ascii/unicode 是最简单的。

关于html - 客户端向 websocket 服务器发送消息时的编码类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9759216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com