鸿蒙UDP

具体文档地址

ts 复制代码
import socket from '@ohos.net.socket';

let udp = socket.constructUDPSocketInstance();
udp.bind({address: '192.168.xx.xxx', port: 8080, family: 1}).then(() => {
  console.log('bind success');

  udp.getState().then(data => {
    console.log('getState success:' + JSON.stringify(data));
  }).catch(err => {
    console.log('getState fail');
  });

  // https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V2/js-apis-socket-0000001477981433-V2#ZH-CN_TOPIC_0000001523808874__setextraoptions
  // udp.setExtraOptions({
  //   receiveBufferSize:1000,
  //   sendBufferSize:1000,
  //   reuseAddress:false,
  //   socketTimeout:6000,
  //   broadcast:true
  // }, err=> {
  //   if (err) {
  //     console.log('setExtraOptions fail');
  //     return;
  //   }
  //   console.log('setExtraOptions success');
  // })

}).catch(err => {
  console.log('bind fail');
});

udp.send({
  data:'Hello, server!',
  address: {
    address:'192.168.xx.xxx',
    port:1234,
    family:1
  }
}).then(() => {
  console.log('send success');
}).catch(err => {
  console.log('send fail');
});

// 订阅UDPSocket连接的接收消息事件
udp.on('message', value => {
  console.log("on message, message:" + value.message + ", remoteInfo:" + value.remoteInfo);
});


// let callback = value =>{
//   console.log("on message, message:" + value.message + ", remoteInfo:" + value.remoteInfo);
// }
// udp.on('message', callback);
// // 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
// udp.off('message', callback);
// udp.off('message');


// https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V2/js-apis-socket-0000001477981433-V2#ZH-CN_TOPIC_0000001523808874__onlistening--close
udp.on('listening', () => {
  console.log("on listening success");
});
udp.on('close', () => {
  console.log("on close success" );
});

// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
// udp.off('listening', callback1);
// udp.off('listening');


// udp.on('error', err => {
//   console.log("on error, err:" + JSON.stringify(err))
// });
//
// // 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
// udp.off('error', callback);
// udp.off('error');




// let promise = udp.close();
// promise.then(() => {
//   console.log('close success');
// }).catch(err => {
//   console.log('close fail');
// });

确实利好前端

相关推荐
●VON37 分钟前
鸿蒙 PC Markdown 编辑器图片粘贴:从系统剪贴板到标准相对链接
华为·编辑器·harmonyos·鸿蒙
●VON1 小时前
鸿蒙 PC Markdown 编辑器外部修改检测:从文件指纹到冲突决策
华为·编辑器·harmonyos·鸿蒙
●VON1 小时前
鸿蒙 PC Markdown 编辑器十兆级大文档保护模式
华为·编辑器·harmonyos·鸿蒙
●VON1 小时前
鸿蒙 PC Markdown 编辑器三方冲突处理:本地缓冲区、磁盘版本与共同基线
网络·华为·编辑器·harmonyos·鸿蒙
listening7771 小时前
HarmonyOS 6.1 性能极致调优:从“流畅”到“极致”的SmartPerf深度剖析
华为·harmonyos
轻口味1 小时前
【大展鸿图】HarmonyOS DevEco Code 入门与最佳实
华为·harmonyos·鸿蒙·月更
●VON1 小时前
鸿蒙 PC Markdown 编辑器搜索选项响应式布局:220 vp 侧栏中的完整中文控件
服务器·华为·编辑器·harmonyos·鸿蒙
小二·1 小时前
七家手机厂商通过备案:苹果/华为/OPPO/vivo/小米/三星/努比亚端侧AI大模型技术深度解析
人工智能·华为·智能手机
Helen_cai2 小时前
HarmonyOS ArkTS 实战:实现一个外出报备晚归登记应用
华为·harmonyos
fengxinzi_zack9 小时前
HarmonyOS应用开发实战:萌宠日记 - 健康分类数据隔离
harmonyos·鸿蒙