使用 @ohos.net.socket (Socket连接) 中代码样例,模拟Udp协议发送,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-socket-0000001820881633\#ZH-CN\_TOPIC\_0000001811157366\_\_send
报错日志:
{"code":2301022,"message":"Invalid argument"} ,
问题场景描述:
通过Udp协议与指定服务通讯,代码如下,是哪个参数有异常? 怎么解决?
import buffer from '@ohos.buffer';
import socket from '@ohos.net.socket';
import { BusinessError } from '@ohos.base';
... ...
test() {
let udp: socket.UDPSocket = socket.constructUDPSocketInstance();
let bindAddr: socket.NetAddress = {
address: '127.0.0.1',
}
let sendOptions: socket.UDPSendOptions = {
data: 'Hello!',
address: {
address: '8.xxx.10.183',
port: 52826
}
}
udp.bind(bindAddr).then(() => {
console.log(' bind success');
udp.send(sendOptions).then(() => {
console.log(' send success');
}).catch((err: BusinessError) => {
console.log(' send fail' + JSON.stringify(err));
});
}).catch((err: BusinessError) => {
console.log(' bind fail' + JSON.stringify(err));
});
}
bindAddr中,address设置为网卡地址,获取方式可以参考如下链接:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-net-connection-V5\#connectiongetconnectionproperties
address值为返回值中data.linkAddresses[0].address.address