我写的是个转发服务器(对上对下都是服务器),即对于终端上报的数据我要再往上传,对于上面下发的命令我要传给终端。但也不光是这个,终端的登录、心跳等数据都由我来处理。我打算用两个IOCP做,一个服务上端主机,一个对所有终端服务。当有数据上传/下发时就用完成端口的PostQueuedCompletionStatus()来通知对方有数据要传送。在新连接到来后,我分配一个结构体,并把它的地址作为完成key,当GetQueuedCompletionStatus()后,如果发现是个完整的上传/下发数据包里就PostQueuedCompletionStatus(对上端的IOCP/对终端的IOCP),不知这样可行吗?另外我对如何使用OVERLAPPED结构的使用也不太明白,求高人指点一二。谢谢!!

解决方案 »

  1.   

    我担心当一个IOCP在对一个socket读写的时候,另一个IOCP也会对它读写,这样数据就会乱了
      

  2.   

    没明白你的意思,用IOCP先要把套接字和IOCP做关联的,这关系是对应的.怎么会弄乱呢.
      

  3.   

    没明白你的意思,用IOCP先要把套接字和IOCP做关联的,这关系是对应的.怎么会弄乱呢------------------------
    那是和一个IOCP关联的,现在我想让另一个没有关联这个SOCKET的IOCP来处理它,