3

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

所以问题在评论中。

4

1 回答 1

4

不会。写操作的完成仅意味着数据已被复制到操作系统缓冲区。

当您收到数据的 TCP ACK 时,没有办法得到通知;但是,如果您没有得到一个(在内置 TCP 重试之后),那么您对套接字执行的下一个操作将导致错误。

于 2012-12-27T16:06:07.417 回答