gpt4 book ai didi

javascript - node.js websocket发送自定义数据

转载 作者:太空宇宙 更新时间:2023-11-04 01:16:07 36 4
gpt4 key购买 nike

我发现了一个很棒的 websocket 教程。如果服务器收到消息,则服务器将其解码,并写入控制台,然后服务器将其发送回客户端。

  var firstByte = data[0],  
secondByte = data[1];

if(!(firstByte & 0x81)) socket.end();
if(!(secondByte & 0x80)) socket.end();

var length = secondByte & 0x7f;

if(length < 126){
var mask = data.slice(2,6);
var text = data.slice(6);
}

if(length == 126){
var mask = data.slice(4,8);
var text = data.slice(8);
}

var unMaskedText = new Buffer(text.length);
for(var i=0;i<text.length;i++){
unMaskedText[i] = text[i] ^ mask[i%4];
}

console.log(unMaskedText.toString());

if(unMaskedText.length > 125)
var newFrame = new Buffer(4);
else
var newFrame = new Buffer(2);

newFrame[0] = 0x81;

if(unMaskedText.length > 125){

newFrame[1] = 126;

var length = unMaskedText.length;

newFrame[2] = length >> 8;
newFrame[3] = length & 0xFF; //1111 1111


} else {

newFrame[1] = unMaskedText.length;

socket.write(newFrame, 'binary');
socket.write(unMaskedText, 'utf8');
}

它有效,但我想发送自定义消息,而不仅仅是客户发送给我的消息。

最佳答案

为了清楚起见,我将其作为答案发布。

在显示接收到的数据之后但在计算要发送的数据之前,您应该将 unMaskedText 更改为表示要发送的文本的缓冲区。例如

unMaskedText = new Buffer("test");

关于javascript - node.js websocket发送自定义数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8214910/

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