VC++のCAsyncSocketで
データの送受信するときに、
送信側1500バイトづつ転送してるとします。
サーバー側で受け取るのですが、一回目のOnReceiveで受け取ったデータが消えます。
たぶんOnReceive中に次のOnReceiveが呼ばれるせいだと思うのです。
sleepで若干ウェイト掛けるとうまくいきます。
ウェイトかけずに正確に取る方法はどのような方法があるのでしょうか?

ご存知の方よろしくお願いいたします。