3

Windows ストア (8\Metro\RT) アプリでソケット クライアント (TCP) を作成しており、次のコードを使用してデータを送信しようとしています。

await _socket.ConnectAsync(new HostName(ipAddress), port);
_dataWriter = new DataWriter(_socket.OutputStream);
_dataWriter.WriteBytes(bytes);
await _dataWriter.StoreAsync();
//Does execution in this line mean that bytes were sent 
//and TCP packet acknowledge has been received?

質問はコメントにあります。

4

1 に答える 1

4

いいえ。書き込み操作の完了は、データが OS バッファにコピーされたことを意味するだけです。

データの TCP ACK を取得したときに通知を受ける方法はありません。ただし、(組み込みの TCP 再試行後に) 1 つも得られない場合は、ソケットに対して次に実行する操作でエラーが発生します。

于 2012-12-27T16:06:07.417 に答える