我在Flash& amp;服务器的节点(TCP)。
在Flash中存在此流行为,如果您执行示例: socket.readUnsignedByte()它将从0位置返回流中的字节,然后它将从流中删除它。
流是从服务器发送到Flash的所有数据,它一直保持到那里直到我读取它。每当我想,我可以一点一点地阅读它(不是字面上的位),这就是我想要的行为。我需要知道流中有多少数据,并且能够执行readUnsignedInt()等操作。
例如我得到了: 0x01 0x0 0x0 0x0 0x0a
我执行:.readUnsignedByte(),它将返回0x01,并且流将更改为: 0x0 0x0 0x0 0x0a,从5个字节减少到4个字节的大小。
所以我正在寻找像stream.readUInt32(); ...
这样的东西是否有任何图书馆可以完成此任务?
答案 0 :(得分:1)
即使这种情况非常不合理(在每次读取时都重建缓冲区),那些https://github.com/dcodeIO/ByteBuffer.js正是这样做的,它会将当前的OFFSET保留在缓冲区中,而不会将其删除,如果你必须发信号做GC去掉缓冲区。
对于流本身,您可以将套接字传递给转换流,这样您就可以阅读,然后在您走过后删除数据。通过连接的块/缓冲区。