UPNPDevice

Inherits: Reference < Object

UPNP 设备。

描述

UPNP设备。参阅 UPNP 了解UPNP发现和实用功能。提供对UPNP控制命令的低层访问。允许管理端口映射(端口转发)和查询设备的网络信息,如本地和外部IP地址和状态。请注意,这个类的方法是同步的,会阻塞调用线程。

方法

int

add_port_mapping ( int port, int port_internal=0, String desc="", String proto="UDP", int duration=0 ) const

int

delete_port_mapping ( int port, String proto="UDP" ) const

bool

is_valid_gateway ( ) const

String

query_external_address ( ) const

枚举

enum IGDStatus:

  • IGD_STATUS_OK = 0 --- OK。

  • IGD_STATUS_HTTP_ERROR = 1 --- HTTP错误。

  • IGD_STATUS_HTTP_EMPTY = 2 --- 空的HTTP响应。

  • IGD_STATUS_NO_URLS = 3 --- 返回的响应不包含任何URL。

  • IGD_STATUS_NO_IGD = 4 --- 不是有效的 IGD。

  • IGD_STATUS_DISCONNECTED = 5 --- 已断开连接。

  • IGD_STATUS_UNKNOWN_DEVICE = 6 --- 未知设备。

  • IGD_STATUS_INVALID_CONTROL = 7 --- 无效控件。

  • IGD_STATUS_MALLOC_ERROR = 8 --- 内存分配错误。

  • IGD_STATUS_UNKNOWN_ERROR = 9 --- 未知错误。

属性说明

Default

""

Setter

set_description_url(value)

Getter

get_description_url()

设备描述的URL。


Default

""

Setter

set_igd_control_url(value)

Getter

get_igd_control_url()

IDG控件URL。


Default

""

Setter

set_igd_our_addr(value)

Getter

get_igd_our_addr()

将其连接到该UPNPDevice的网络中的本地机器的地址。


Default

""

Setter

set_igd_service_type(value)

Getter

get_igd_service_type()

IGD服务类型。


Default

9

Setter

set_igd_status(value)

Getter

get_igd_status()

IGD状态。参阅IGDStatus


Default

""

Setter

set_service_type(value)

Getter

get_service_type()

服务类型。

方法说明

添加一个端口映射,将这个UPNPDevice上给定的外部端口转发到本地机器上,以给定的协议。参阅 UPNP.add_port_mapping


  • int delete_port_mapping ( int port, String proto="UDP" ) const

删除该设备上由给定的端口和协议组合确定的端口映射。参阅UPNP.delete_port_mapping


  • bool is_valid_gateway ( ) const

如果这是一个有效的IGD(InternetGatewayDevice),可能支持端口转发,则返回true


  • String query_external_address ( ) const

返回这个UPNPDevice的外部IP地址或空字符串。