假设我们定义了一个用户级TCP包解析协议,如下所示:
A User-Level TCP Packet:
---------- ------ ---------- ----------------------------
| F1F2F3F4 | Type | Length | Packet Body |
---------- ------ ---------- ----------------------------
1. F1F2F3F4: beginning of a packet, hex data (4 bytes)
2. Type: denotes what type of this packet (2 bytes)
3. Length: how many bytes the packet contains except F1F2F3F4
Packets may have different length (2 bytes)
4. PacketBody: Real data a packet contains
假设我们有一个TCP通信对,它通过以这种格式发送数据包来彼此交换数据。通信器一次通过一个套接字发送许多数据包,有时甚至以这种方式发送文件。在
<>在C/C++语言中,我将分配一个足够大的缓冲区来存储从socket读取的数据,而不是在缓冲区中扫描<强> f1f2f3f4>强>,找到<强>长度< /强>字段, 如果数据小于长度,则等待更多。在现在我需要用Python实现这个,有人知道怎么做吗?在
我建议这样做
看起来像这样:
相关问题 更多 >
编程相关推荐