したがって、Win32プログラミングとソケットに関する割り当てはほぼ完了しましたが、転送に関するいくつかの統計を生成して分析する必要があります。私が問題を抱えている唯一の部分は、クライアントからサーバーに送信されたパケットの数を把握する方法です。
送信されるデータは可変長である可能性があるため、受信した合計バイト数を#define'd値で除算することはできません。
すべてを行うには非同期呼び出しを使用する必要があるため、サーバーのソケットに対して受け取るFD_READメッセージごとにカウンターをインクリメントしようとしています。ただし、潜在的に大きなファイルサイズを受け入れる必要があるため、約64kのバッファーサイズでrecv/recvfromを呼び出す必要があります。小さなパケット(az)を送っても問題ありません。しかし、1024文字の文字列を10x送信すると、サーバーは2つまたは3つのパケットを受信したと報告しますが、送受信されたバイト数に関しては0%のデータ損失があります。
パケット数を取得する方法はありますか?
前もって感謝します :)