DataWriter的StoreAsync如何在StreamSocket下工作?

时间:2012-12-27 15:03:26

标签: c# sockets windows-store-apps socketstream

我正在Windows Store(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?

所以问题出在评论中。

1 个答案:

答案 0 :(得分:5)

没有。写操作的完成仅表示数据已复制到OS缓冲区。

当您获得数据的TCP ACK时,无法通知您;但是,如果您获取一个(在内置TCP重试之后),那么您在套接字上执行的 next 操作将导致错误。