信息
您所需的主题如下所示。但此主题未包含在此库中。
此主题尚未评级 - 评价此主题

Windows.Networking.Sockets Namespace

提供要用于网络通信的 sockets 和 WebSockets 类,以及用于 Windows 应用商店应用程序在后台接收的实时网络通知的类。

成员

Windows.Networking.Sockets命名空间 具有这些类型的成员:

Windows.Networking.Sockets命名空间 具有这些类。

说明
ControlChannelTrigger Enables real time notifications to be received in the background for class elements in the Windows.Networking.Sockets namespace and other networking transports.
DatagramSocket Supports network communication using a UDP datagram socket.
DatagramSocketControl Provides socket control data on a DatagramSocket object.
DatagramSocketInformation Provides socket information on a DatagramSocket object.
DatagramSocketMessageReceivedEventArgs Provides data for a MessageReceived event on a DatagramSocket.
MessageWebSocket Supports network communication that allows reading and writing whole messages using a WebSocket.
MessageWebSocketControl Provides socket control data on a MessageWebSocket.
MessageWebSocketInformation Provides socket information on a MessageWebSocket.
MessageWebSocketMessageReceivedEventArgs Provides data for a message received event on a MessageWebSocket.
SocketError Provides socket error status for operations on a DatagramSocket, StreamSocket, or StreamSocketListener.
StreamSocket Supports network communication using a stream socket over TCP or Bluetooth RFCOMM.
StreamSocketControl Provides socket control data on a StreamSocket object.
StreamSocketInformation Provides socket information on a StreamSocket object.
StreamSocketListener Supports listening for an incoming network connection using a TCP stream socket or Bluetooth RFCOMM.
StreamSocketListenerConnectionReceivedEventArgs Provides data for a ConnectionReceived event on a StreamSocketListener object.
StreamSocketListenerControl Provides socket control data on a StreamSocketListener object.
StreamSocketListenerInformation Provides socket information on a StreamSocketListener object.
StreamWebSocket Supports network communication that allows reading and writing streams using a WebSocket.
StreamWebSocketControl Provides socket control data on a StreamWebSocket object.
StreamWebSocketInformation Provides socket information on a StreamWebSocket object.
WebSocketClosedEventArgs Provides data for a closed event on a MessageWebSocket, StreamWebSocket, or IWebSocket object.
WebSocketError Provides socket error status on a MessageWebSocket or StreamWebSocket object.
WebSocketKeepAlive Provides the ability to send a WebSocket protocol keep-alive on a connected WebSocket.

 

枚举

Windows.Networking.Sockets命名空间 具有这些枚举。

Enumeration说明
ControlChannelTriggerResetReason The reason why a ControlChannelTrigger was reset.
ControlChannelTriggerResourceType The resource type used by a control channel trigger.
ControlChannelTriggerStatus Specifies if the system was able to complete configuration of a ControlChannelTrigger object for use by class elements in the Windows.Networking.Sockets and related namespaces.
SocketErrorStatus Specifies status values for a socket operation.
SocketMessageType Specifies the type of a message for a MessageWebSocket object.
SocketProtectionLevel Specifies the level of encryption to use on a StreamSocket object.
SocketQualityOfService Specifies the quality of service for a DatagramSocket or StreamSocket object.
SocketSslErrorSeverity The category of error that occurs on an SSL connection.

 

接口

Windows.Networking.Sockets命名空间 定义这些接口。

接口说明
IControlChannelTriggerEventDetails An object instantiated by the background broker infrastructure that is used to differentiate control channel triggers.
IControlChannelTriggerResetEventDetails An object instantiated by the background broker infrastructure for a ControlChannelReset event to indicate that a ControlChannelTrigger was reset.
IWebSocket Provides access to network communication that allows reading and writing using a WebSocket.
IWebSocketControl Provides socket control data on an IWebSocket object.
IWebSocketInformation Provides socket information on an IWebSocket object.

 

结构

Windows.Networking.Sockets命名空间 具有这些结构。

结构说明
BandwidthStatistics Represents bandwidth information for network data transfer using a StreamSocket, StreamWebSocket, or MessageWebSocket object.
RoundTripTimeStatistics Represents round trip time information for a StreamSocket object.

 

备注

Windows.Networking.Sockets 命名空间给使用套接字和 WebSocket 的网络提供类和接口。主要类包括:

  • DatagramSocket - UDP 数据报套接字,用于网络通讯。
  • StreamSocket - 流套接字,用于通过 TCP 或通过使用 RFCOMM 的蓝牙连接进行的传入或传出网络通信。
  • StreamSocketListener - 流套接字侦听器,用于侦听传入 TCP 连接或使用 RFCOMM 的传入蓝牙连接。
  • MessageWebSocket - 基于消息的 WebSocket,用于读取和写入整个消息以实现网络通信。
  • StreamWebSocket - 基于流的 WebSocket,用于读取和写入网络通信流。

这些主要的类也有一些 Windows.Networking.Sockets 命名空间中的相关的信息和控件类。

处理异常

当你在 Windows.Networking.Sockets 命名空间调用异步方法时,必须编写代码以处理异常。 异常可能来自参数验证错误、名称解析错误和网络错误。因网络错误(例如,断开连接、连接失败和服务器故障)导致的异常随时都可能发生。 这些错误将导致引发异常。未经您的应用程序处理的异常可能导致整个应用程序被运行时终止。

Windows.Networking.Sockets 命名空间有一些方便的帮助器方法和枚举,用于在使用套接字和 WebSocket 时处理错误。这可用于应用程序中的特定网络异常的不同处理方式。针对参数验证错误,应用程序还使用异常中的 HRESULT,以详细了解有关导致该异常的错误的信息。

有关可能的异常以及如何处理异常的更多信息,请参见处理网络应用程序中的异常

将 StreamSocket 用于蓝牙和 Wifi 直连

应用程序还可以使用 StreamSocket 以实现近距离设备间的网络连接。Windows.Networking.Proximity 命名空间中的类支持通过使用 Bluetooth RFCOMM 或 Wi-Fi Direct 的 StreamSocket 与附近设备建立网络连接。PeerFinder 和相关类(在 Windows.Networking.Proximity 命名空间中)可让你的应用程序发现邻近设备上该应用程序的其他实例。 然后应用程序可以使用点击特定动作或通过浏览创建与周围的对等应用程序的 StreamSocket 连接。 有关更多信息,请参见支持接近程度和轻击Windows.Networking.ProximityPeerFinderWindows.Devices.Bluetooth.Rfcomm接近程度示例Bluetooth Rfcomm 聊天示例

使用网络触发器

Windows.Networking.Sockets 命名空间还有一个类,网络控制通道触发器可将该类用于背景网络连接。ControlChannelTrigger 允许你的应用程序在后台运行时接收网络数据包和网络保持连接信息。这使你的应用能够为 StreamSocket(位于 Windows.Networking.Sockets 命名空间中)和相关命名空间中的其他网络类提供实时状态和网络通知。

网络触发器用于长时间运行的网络应用程序(例如电子邮件应用程序),以最大程度地减少对网络和系统资源的使用。网络触发器允许应用程序进入一段时间的低功耗模式,同时保持网络连接不变,但是处于低功耗状态。可以设置活动间隔,以便让系统知道何时应唤醒该应用程序。还可以设置触发器,以便收到应用程序的包时获得通知。当长时间地在移动设备中运行网络应用程序时,这些通知功能可以帮助延长电池寿命。

有关更多信息,请参见 ControlChannelTrigger 类和如何:设置背景连接选项

使用套接字和在 Windows server 2012 上的 WebSockets

在 Windows Server 2012 和 Windows Server 2012 R2 中,Windows.Networking.dll 会无法加载(它用于实现 Windows.Networking.Sockets 命名空间中的大多数类),除非启用了媒体基础功能。这样一来,如果应用程序使用 Windows.Networking.Sockets 命名空间中的套接字或 WebSockets 类,那么当禁用 Media Foundation 功能时,该应用程序将失败。Windows Server 2012 或 Windows Server 2012 R2 安装时会禁用 Media Foundation 功能。

可以通过使用服务器管理器或在命令提示或脚本中输入以下文本在 Windows Server 2012 或 Windows Server 2012 R2 上启用 Media Foundation 功能。

dism /online /enable-feature /featurename:ServerMediaFoundation

启用 Media Foundation 功能后,系统会提示用户重新启动。一旦计算机重新启动,Windows.Networking.Sockets 命名空间中用于套接字和 WebSocket 的类将按预期工作。

使用套接字和有网络隔离的 WebSockets

Windows 8 中的网络隔离能让你完全控制 Windows 应用商店应用的安全配置文件。

网络隔离能让你通过选择相应的功能来定义每个应用程序所需的网络访问权限。系统会阻止未设置适当功能的应用程序使用特定网络类型(Internet 或家庭\工作网络)和特定网络请求(客户端启动的出站请求,或同时阻止未经请求的入站请求与客户端启动的出站请求)。 能够强制网络隔离可确保即使应用程序受到攻击,该应用程序也只能使用它被授权使用的功能(如网络类型和网络请求)。这极大地缩小了对其他应用程序和操作系统的可能影响。

Windows 8 积极强制网络隔离。 如果尚未启用相应网络功能,对 Windows.Networking.Sockets 命名空间(或需要网络访问的相关命名空间)中的方法的调用或对属性的任何访问都可能失败。

应用程序的网络功能是在生成应用程序时在应用程序清单中配置的。在开发应用程序时,通常使用 Visual Studio 添加网络功能。 它们也可以通过使用文本编辑器,在应用程序清单文件中手动设置。

有关网络隔离的更多详细信息,请参见如何配置网络隔离功能

要求

最低支持客户端

Windows 8

最低支持服务器

Windows Server 2012

最低支持电话

Windows Phone 8

命名空间

Windows.Networking.Sockets
Windows::Networking::Sockets [C++]

元数据

Windows.winmd

DLL

Windows.Networking.dll;
Windows.Networking.Sockets.Pushenabledapplication.dll

Capabilities

ID_CAP_NETWORKING [Windows Phone]

另请参见

其他资源
添加网络支持
连接到网络服务
连接到 WebSocket 服务
处理网络应用程序中的异常
如何配置网站隔离功能
如何设置背景连接选项
支持接近程度和轻击
疑难解答和调试网络连接
引用
PeerFinder
SetSocketMediaStreamingMode
Windows.Devices.Bluetooth.Rfcomm
Windows.Networking Namespace
Windows.Networking.Connectivity Namespace
Windows.Networking.Proximity
示例
Bluetooth Rfcomm 聊天示例
DatagramSocket 示例
连接 WebSockets 示例
ControlChannelTrigger TCP socket 示例
接近程度示例
StreamSocket 示例

 

 

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
显示:
© 2014 Microsoft. 版权所有。