有关完成端口模型的问题
各位在完成端口模型中是如何解决一个数据包被多个工作者线程收取不同部分的问题呢? 比如一个完整的请求包500字节,但在到达服务器端时因为分包了触发了2次事件,其中一个工作者线程收取了其中的300个字节数据,另一个工作者线程收取了另外的200字节数据,或者是被同一个工作者线程2次收取,则到了服务器端后就变成了2个请求了,除了自己重新组装成一个包外,这种请求各位是如何解决的呢?
我再举个例子:比如游戏客户端发出登陆请求,先发了一个包头,后面再发了一个登陆的相关信息,到了服务器端也是先收到包头,登陆信息又被另一个工作者线程收取,此时程序就很难处理了,需要自己去重新组装。
不知道各位是如何解决这中问题的,其实这个问题在WIN平台的其它异步模型、重叠I/O模型中也存在,欢迎大家讨论,分就不给了。