説明

Send/SendExメソッド(バイナリ送信)では送受信は必ずしも1対1になりません。
Send/SendExメソッドによるデータは分割されて受信されるかもしれませんし、前後の送信データといっしょに受信されるかもしれませし、あるいは分割され、前後の送信データの一部といっしょに受信されるかもしれません。

対応

SendPacked/SendPackedExメソッド(パックドバイナリ送信)を使用してください。 SendPacked/SendPackedExメソッドによるデータは、必ずその送信サイズ(引数nData)で受信されます。引数nFragmentはKnSocketが内部的に分割送信するサイズを指定させるもので、いくつでもかまいませんが、大きいほど性能的には有利ですが、作業用のメモリ消費は大きくなります。