0

完全奇怪。对于 C++ 和 JavaScript,甚至 .Net,有一个 Close 投影,但对于 WinRT 没有 C#。

http://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.sockets.streamsocket.close.aspx?cs-save-lang=1&cs-lang=javascript#code-snippet-1

我使用非常酷的 PeerFinder api 成功连接。当我想强制关闭连接时,我处理了套接字(因为 Close 不是 C# 中的选项)。这似乎可行,但偶尔,后续连接会连接到蓝牙,而不是 WiFi。蓝牙比WiFi慢很多,所以体验很差。如果我关闭了蓝牙,那么一切正常,但我不能要求我们的客户这样做。

在 C# 中关闭 StreamSocket 连接的正确方法是什么?

4

1 回答 1

2

您链接的文档说

“对于在 C# 和 VB.NET 中使用 .NET Framework 4.5 编写的应用程序,Close 方法作为 StreamSocket 上的 Dispose() 方法公开。”

使用此方法的最佳方式是通过 using 块

using(var stream = new StreamSocket())
{
}

Dispose方法将在块的末尾被调用。

于 2013-08-14T10:55:18.070 回答