gpt4 book ai didi

javascript - 从websocket接收数据

转载 作者:行者123 更新时间:2023-12-03 10:57:08 25 4
gpt4 key购买 nike

我正在为我的大学实现一个 C# 中的 websocket 服务器和 JS 中的客户端,但我在设置它时遇到了麻烦。我可以正确连接、握手并进行测试。但在那之后,我无法读取来自浏览器的消息,直到我在 stackoverflow 上找到这个函数(我丢失了链接,抱歉):

private static string byteToString(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;

if (opcode != 1)
return null;

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]);
}

byte[] data2=unmaskedPayload.Select(e => (byte)e).ToArray();
System.Text.ASCIIEncoding decoder = new System.Text.ASCIIEncoding();
string result = decoder.GetString(data2, 0, data2.Length);

return result;
}

它应该从缓冲区中获取数据[],并神奇地变成一个可读的字符串,它的工作方式就像一个魅力,但如果我在浏览器中通过 send() 输入一个大字符串,该函数就不会'根本不起作用。不幸的是,我不知道这个函数是如何发现问题的,你们有关于这种行为的任何线索吗?我很乐意提供任何我能提供的代码。

提前致谢。

最佳答案

您可以使用 C# 第三方 dll,例如

Alchemy dll

Superwebsocket dll

通过使用这个dll,我们可以同时连接超过100个连接,并且我们可以像实时数据馈送一样单独与所有客户端进行通信。这也处理它内部的线程......

关于javascript - 从websocket接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28231025/

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