# wsock.udp.stunClient 库模块帮助文档

## wsock.udp.stunClient 成员列表 <a id="wsock.udp.stunClient" href="#wsock.udp.stunClient">&#x23;</a>

STUN 客户端库

### wsock.udp.stunClient.servers <a id="wsock.udp.stunClient.servers" href="#wsock.udp.stunClient.servers">&#x23;</a>
常用 STUN 服务器列表，字符串值

## wsock.udp 成员列表 <a id="wsock.udp" href="#wsock.udp">&#x23;</a>

### wsock.udp.stunClient() <a id="wsock.udp.stunClient" href="#wsock.udp.stunClient">&#x23;</a>
创建 STUN 客户端  

[返回对象:wsockUdpStunClientObject](#wsockUdpStunClientObject)

## wsockUdpStunClientObject 成员列表 <a id="wsockUdpStunClientObject" href="#wsockUdpStunClientObject">&#x23;</a>

### wsockUdpStunClientObject.close() <a id="wsockUdpStunClientObject.close" href="#wsockUdpStunClientObject.close">&#x23;</a>
关闭 UDP 客户端。  
对象回收时也会自动关闭 UDP 客户端。

### wsockUdpStunClientObject.getPublicAddress() <a id="wsockUdpStunClientObject.getPublicAddress" href="#wsockUdpStunClientObject.getPublicAddress">&#x23;</a>
自动尝试多个 STUN 服务器获取公网地址。  
成功返回包含 ip,port,localIp,localPort,nat,server,duration,attrType 字段的表。  
返回对象可用 tostring 或 `++` 操作符转换为内容为返回 IP 地址的字符串。  

如果公网 ip,port 与本机 localIp,localPort 不是完相相同时,nat 字段值为 true。  
duration 为查询耗时，以秒为单位。  

此函数失败返回 null,错误信息

### wsockUdpStunClientObject.getPublicAddress(server,port) <a id="wsockUdpStunClientObject.getPublicAddress" href="#wsockUdpStunClientObject.getPublicAddress">&#x23;</a>
获取本机公网 IP 和端口。  
- 参数 @server 用字符串值指定目标主机。  
支持以  "server:port" 格式同时指定目标主机与端口号。  
指定多个目标主机时使用换行符分隔主机地址。  
- 可选用参数 @port 指定默认端口，默认值为 3478。  

成功返回包含 ip,port,localIp,localPort,nat,server,duration,attrType 字段的表。  
返回对象可用 tostring 或 `++` 操作符转换为内容为返回 IP 地址的字符串。  

如果公网 ip,port 与本机 localIp,localPort 不是完相相同时,nat 字段值为 true。  
duration 为查询耗时，以秒为单位。  

此函数失败返回 null,错误信息

### wsockUdpStunClientObject.udp <a id="wsockUdpStunClientObject.udp" href="#wsockUdpStunClientObject.udp">&#x23;</a>
UDP 客户端。  

[返回对象:udpClientObject](#udpClientObject)
