大家在处理IOCP连接的时候,就是发送PostAccept的时候是发送连接还是连接和数据一起?该如何解决

大家在处理IOCP连接的时候,就是发送PostAccept的时候是发送连接还是连接和数据一起?
就是说一般处理新连接的时候,是处理新连接,此时客户端没有发送任何数据,接受到连接后,Post一个Recv

还是等等一个新连接,同时也等待客户端连接后有数据发送在处理呢?

其实就是在 m_pAcceptEx( pSrvNode->m_hSocket,sAcp,(void*)pIOMem->m_szBuf,0,//这里用0,还是不用0 
sizeof(sockaddr_in)+16,
  sizeof(sockaddr_in)+16,&dwRecv,&pIOMem->m_olp );

这2种方式一般有啥优缺点?

------解决方案--------------------
C/C++ code
BOOL AcceptEx(
  __in   SOCKET sListenSocket,
  __in   SOCKET sAcceptSocket,
  __in   PVOID lpOutputBuffer,
  __in   DWORD dwReceiveDataLength,
  __in   DWORD dwLocalAddressLength,
  __in   DWORD dwRemoteAddressLength,
  __out  LPDWORD lpdwBytesReceived,
  __in   LPOVERLAPPED lpOverlapped
);

lpOutputBuffer 
A pointer to a buffer that receives the first block of data sent on a new connection, the local address of the server, and the remote address of the client. The receive data is written to the first part of the buffer starting at offset zero, while the addresses are written to the latter part of the buffer. This parameter must be specified.

------解决方案--------------------
同意楼上,IOCP是允许在连接的同时 发送一个数据过去的