c# - StreamSocket下DataWriter的StoreAsync是如何工作的?

标签 c# sockets windows-store-apps socketstream

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

所以问题在评论中。

最佳答案

没有。写操作的完成只意味着数据已经被复制到操作系统缓冲区。

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

关于c# - StreamSocket下DataWriter的StoreAsync是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14056714/

相关文章:

c# - 正则表达式 C#

Java 客户端/服务器发送或获取 int 或 string 类型

c# - 在 C# 中更改网格的 Canvas.ZIndex

C# Windows 服务创建跟踪文件但从不写入它

c# - 我们可以为 Azure Redis 缓存中的所有 key 设置过期时间吗?

c# - 是否有一种简单/内置的方法来获取 XAML 元素的精确副本(克隆)?

从客户端套接字读取时的C#AsyncSockets递归

c++ - 如何使用 boost asio 通过 UDP 套接字发送 std::vector of unsigned char?

https - HttpClient->GetStringAsync() 对于 https Uris 抛出 0x000006F4

c# - 我可以将应用程序上传到 Windows 应用商店而不使用 .net native 工具链进行编译吗?