StreamSocket在C#中没有关闭实现

时间:2013-08-14 10:47:30

标签: bluetooth windows-runtime proximity

非常奇怪。有一个关于C ++和JavaScript的Close投影,甚至是.Net但不是C#for WinRT。

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连接的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

您链接的文档说

  

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

使用此方法的最佳方法是使用使用块

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

Dispose方法将在块结束时调用。