public void LengthTest3(int length) { NetMQMessage message = new NetMQMessage(); message.Append(new byte[length]); byte[] lengthBytes = new byte[2]; message.GetLength(lengthBytes); int index = -1; while (length > 0) { length = length / 256; index++; } for (int i = 0; i < lengthBytes.Length; i++) { Assert.AreEqual(lengthBytes[i], i == 1 - index ? 1 : 0); } }
/// <summary> /// 获取NetMQFrame数组的总字节数,填充到lengthBytes中。 /// </summary> /// <returns>the resulting new NetMQMessage</returns> /// <exception cref="ArgumentException">handshake的数据大小不能超过65535,因为协议使用2个字节存储长度。</exception> public virtual void GetLength(byte[] lengthBytes, NetMQMessage message) { message.GetLength(lengthBytes); }