我正在编写一个节点服务器,我需要在其中向 ac# 客户端发送一个 32 位整数(作为标头)。
我不太确定该怎么做,因为位移运算符让我感到困惑。我认为我的 c# 客户端期望这些整数采用小端格式(我不确定,我之所以这么说是因为NetworkStream
IsLittleEndian 属性为真)。
所以说我在javascript中有一个变量,就像
var packetToDeliverInBytes = GetByteArrayOfSomeData();
//get the integer we need to turn into 4 bytes
var sizeOfPacket = packetToDeliver.length;
//this is what I don't know how to do
var bytes = ConvertNumberTo4Bytes(sizeOfPacket)
//then somehow do an operation that combines these two byte arrays together
//(bytes and packetToDeliverInBytes in this example)
//so the resulting byte array would be (packetToLiver.length + 4) bytes in size
//then send the bytes away to the client
socket.write(myByteArray);
如何编写 ConvertNumberTo4Bytes() 函数?
奖金
如何将这些 2 字节数组合并为一个,以便可以在一个 socket.write 调用中发送它们