请问socket方面的有关问题,高手帮帮忙啊

请教socket方面的问题,高手帮帮忙啊!
请问大家我同时向另一方发送了同一类型的两个结构体,但他们的消息编号不一样,可是我接的时候只接到了第一个,第二个没收到,求教高手应该如何解决啊?谢谢!  


------解决方案--------------------
send 函数会返回实际的发送字节数,除非你的send数据流非常大,例如一次发送8192字节,否则,一般的小于1024字节的发送都可以单次完成。

MyStruct st;


send(sock, &st, sizeof(MyStruct), 0);

------解决方案--------------------
晕,代码太长,没仔细看。
一次send对应一次recv,成功接收到一次send,recv就自动返回了,如果在同一函数内对内一接收方send两次,那对方同样需要同一函数内recv两次
我数了一下,你好像send了两次,而之recv了一次,那另一次send的东西由谁来接收呢?
------解决方案--------------------
调用两次OnAcceptMessage()
你的函数一次OnAcceptMessage()只接收一次Socket信息,发送方每发送一次信息,这边都要调用一次OnAcceptMessage();
其实这个问题在MFC框架中是不存在的,可以在OnReceive()中调用,MFC会每接收一次信息即调用一次OnReceive(),但是你自己处理的过程就不同了。
------解决方案--------------------
你的CODE里面的send有点问题 ,unblocking模式有可能导致你在还未完全收到Message之前,就已经返回。mybe, who could got it really?