java技术圈 为您找到相关结果 2

详解 & 0xff 的作用_Junieson的博客

首先我们要都知道, &表示按位与,只有两个位同时为1,才能得到1, 0x代表16进制数,0xff表示的数二进制1111 1111 占一个字节.和其进行&操作的数,最低8位,不会发生变化. 下面着重来说说&0xff都有哪些应用: 1. 只是为了取得低八位 通常配合移位操作符>>使用 例如:java socket通信中基于长度的成帧方法中,如果发送的信息长度小于65535字节,长度信息的字节 定义为两个字节长度。这时候将两个字节长的长度信息,以Big-Endian的方式写到内存中 out.write((message.length>>8)&0xff);//取高八位写入地址 out.write(message.length&0xff);//取低八位写入高地址中 例如,有个数字 0x1234,如果只...阅读全文

博文 2022-03-23 12:55:14 CSDN博客_0xff

TCP长连接的序列号溢出问题

#### 一、TCP长连接的序列号溢出问题 TCP序列号是一个**32位无符号整数**(范围0~4,294,967,295),理论上传输超过4GB数据后会发生溢出(归零)。但在实际应用中,协议设计通过以下机制避免问题: 1. **时间戳选项**: TCP时间戳(Timestamp Option)记录数据包发送时间,即使序列号溢出,接收方也能通过时间差区分新旧连接的数据包。 2. **随机初始序列号(ISN)**: 每次建立新连接时,初始序列号由随机算法生成,不同连接的ISN差异极大,降低了旧连接残留数据干扰新连接的可能性。 3. **滑动窗口与超时机制**: 接收方的窗口范围动态调整,若序列号溢出,窗口会重置到合理区间,且连接通常不会持续到序列号溢出(如HTTP短连接)。 **溢出场景举例*...阅读全文

博文 2025-03-27 18:04:47 dalang