本文介绍登云梯JS开发框架中UDP组件所提供的相关方法说明,支持的硬件平台列表以及参考示例代码。
硬件平台
产品型号 | 是否支持 | 硬件类型 |
HaaS600Kit | 是 | 开发板 |
HaaS510 | 是 | DTU |
HaaS520 | 是 | DTU |
HaaS530 | 是 | DTU |
HaaS531 | 是 | DTU |
HaaS632-LT32V | 是 | 模组 |
HaaS600-EC600S | 是 | 模组 |
HaaS600-EC600N | 是 | 模组 |
HaaS600-EC600U | 是 | 模组 |
HaaS600-N715 | 是 | 模组 |
createSocket()
创建一个UDP Socket实例。
入参
无。
返回
一个UDP Socket实例。
UDP Socket实例
事件 | 描述 |
'close' | Socket关闭时,会触发 |
'send' | Socket数据发送成功后,会触发 |
'message' | 接收到新的数据包时,会触发 |
'error' | 发生错误时,会触发 |
'message'
事件的回调函数参数有:
属性 | 类型 | 描述 |
message | ArrayBuffer | 接受到的UDP数据。 |
rinfo | Object | 发送端地址信息,详细信息,请参见rinfo属性说明。 |
rinfo属性说明:
属性 | 类型 | 描述 |
host | String | 发送端IP地址。 |
port | Number | 发送端的端口。 |
'error'
事件的回调函数参数有:
属性 | 类型 | 描述 |
error | String | 错误信息。 |
UDPSocket.localPort
本地绑定的端口。
入参
无。
返回
无。
UDPSocket.bind(Number port)
绑定一个系统随机分配的可用端口,或绑定一个指定的端口号。
入参
属性 | 类型 | 是否必填 | 描述 |
port | Number | 否 | 指定要绑定的端口号,不传则返回系统随机分配的可用端口。 |
返回
端口号,Number类型。
UDPSocket.send(Object target)
向指定的IP地址和Port发送消息。
入参
Object类型,属性如下:
属性 | 类型 | 是否必填 | 描述 |
address | String | 是 | 要发消息的IP地址。 |
port | Number | 是 | 要发送消息的端口号。 |
message | String | Array | 是 | 要发送的数据。 |
success | Function | 否 | 发送成功时的回调函数。 |
fail | Function | 否 | 发送失败时的回调函数。 |
返回
无。
UDPSocket.close()
关闭UDP Socket实例,如果需要完整销毁UDP Socket实例,还需要将创建的UDP Socket实例置为NULL。
入参
无。
返回
无。
UDPSocket.on(String event, Function callback)
监听事件。
入参
无。
返回
无。
示例代码
import * as udp from 'udp'
var udpSocket = udp.createSocket();
// bind port
udpSocket.bind(8061);
udpSocket.on('send', function() {
console.log('udp data send');
});
udpSocket.on('message', function(data, rinfo) {
console.log('receive data from ' + rinfo.host + ' port: ' + rinfo.port);
console.log('udp socket just receive data is: ' + data);
udpSocket.close();
});
udpSocket.on('close', function() {
console.log('udp close');
});
udpSocket.on('error', function(err) {
console.log('udp error ' + err);
});
udpSocket.send({
address: '192.168.193.2',
port: 8848,
message: 'hello, this is amp'
});