我将CAsyncSocket用于事件,例如我覆盖OnReceive()。
但是,我并不完全清楚"等级"这应该实施。例如,另一端可以逐字节发送数据;然后在每个字节后调用OnReceive,对吗?
因此,如果我在OnReceive中使用接收...而不是我期望收到的所有数据,我该怎么办?缓冲这些东西并返回并等待下一个OnReceive?
但这看起来非常高级:我需要一个状态机和具有高协议知识的不同缓冲区来处理这个问题。
不可能说:"当收到至少4个字节时通知我"?然后我不需要处理低级别的东西,一旦通知在这里,我只读了4个字节(即使已经有更多的东西)。
答案 0 :(得分:0)
无法控制对Receive的调用会给您多少字节。所以你必须缓冲这些东西并等待另一个OnReceive调用。