检测到由event参数指明的网络事件后,
事件到达向hwnd指定句柄的窗口发送userMsgId消息,
第二次调用此函数可省略句柄以及消息ID
失败返回null,以及错误信息,
成功返回true,以及上次调用此函数指定的event参数
绑定 IP 端口。
绑定 IP 端口。
如果不指定 IP 则默认获取内网 IP 作为参数。
成功返回 true,
失败返回 null,错误信息,错误代码。
相同的本地 IP 与端口重复绑定会返回 10022(_WSAEINVAL) 错误。
关闭 UDP 客户端。
如果未显式调用此函数,在对象析构时,将会自动调用。
已关闭的套接字不能再使用。
就好比用过的车票不能重复用,什么地方都有规则和限制。
连接指定的目标 IP 以及端口号。
省略参数则使用此对象上次使用的目标地址。
返回本机 IP,端口
最后最后发送或接收的 sockaddr_in 结构体
返回最后发送或接收的 IP ,端口
获取选项
参数 @1 使用 SO 前缀的常量指定选项,参数 @2 使用结构体指定值
如果不指定参数 @2 ,则获取一个32位整型数值,
可选用参数@3指定设置层次,默认为SOL_SOCKET
成功返回读取的结构体
加入广播组
参数 @2 可省略
退出广播组
参数 @2 可省略
接收数据包。
如果参数不指定长度,则使用 bufferSize 指定的长度。
成功返回字符串,
失败返回 null,错误代码
与 recvfrom 方法的区别是此函数不会接收并存储远程客户端的 IP地址与端口。
接收数据并获取远程客户端地址。
如果获取到非空数据则返回 3 个值:数据,IP,端口 。
此函数会更新并存储最后发送与接收的远程客户端地址。
是否允许端口重用
调用 connect 以后可以使用此函数接收数据包发送数据包
发送数据,IP端口号为可选参数,
成功返回 true
允许广播
udpAsyncClientObject.setInterval(回调函数,延时毫秒数,...setInterval(
function(){
/*参数 @1 指定执行函数,参数 @2 指定执行间隔,
可选指定一个或多个回调参数,不指定回调参数则默认为:
hwnd,message,timerId,tick,
如果在定时器中执行了 win.delay 等继续消息循环的代码,
在定时器退出前不会再触发同一定时器(重入)。
定时器回调函数无返回值、返回 null 或 true 则继续运行。
返回 false,0,或用 tonumber 可转换为 0 的值则清除此定时器。
返回可用 tonumber 转换为非 0 数的值则修改定时器执行间隔(毫秒)*/
},1000
)
设置组播网卡 IP,不指定参数自动取网卡IP
是否启用多播回送
设置组播报文的数据包的TTL
设置超时,以亳秒为单位( 1 秒为 1000 毫秒)
设置选项
参数 @1 使用 SO 前缀的常量指定选项,参数 @2 使用结构体、数值、布尔值都可以
可选用参数@3指定设置层次,默认为SOL_SOCKET
成功返回true
udpAsyncClientObject.onReceive = function(err){
var str = udpServer.recvfrom(1024);/*收到数据*/
}
UDP 异步客户端
创建 UDP 异步客户端。
此对象可传入其他线程(仅共享 UDP 套接字,接收线程调用 close 方法不会关闭套接字)。