udp服务信号是如何发送和接收

udp服务信号是如何发送和接收

HarmonyOS
2024-03-19 14:57:28
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
落月无痕

1. import需要的socket模块。

2. 创建一个UDPSocket连接,返回一个UDPSocket对象。

3. 绑定IP地址和端口,端口可以指定或由系统随机分配。

4. 连接到指定的IP地址和端口。

5. 发送数据。

6. socket连接使用完毕后,主动关闭。

参考代码如下:

import { socket }  from '@kit.NetworkKit'; 
import { BusinessError } from '@kit.BasicServicesKit'; 
 
class SocketInfo { 
  message: ArrayBuffer = new ArrayBuffer(1); 
  remoteInfo: socket.SocketRemoteInfo = {} as socket.SocketRemoteInfo; 
} 
let udp: socket.UDPSocket = socket.constructUDPSocketInstance(); 
let messageView = ''; 
// 订阅UDPSocket连接的接收消息事件 
udp.on('message', (value: SocketInfo) => { 
  for (let i: number = 0; i < value.message.byteLength; i++) { 
    let uint8Array = new Uint8Array(value.message)  
    let messages = uint8Array[i] 
    let message = String.fromCharCode(messages); 
    messageView += message; 
  } 
  console.log('on message message: ' + JSON.stringify(messageView)); 
  console.log('remoteInfo: ' + JSON.stringify(value.remoteInfo)); 
}); 
// 绑定本地IP地址和端口。 
let bindAddr: socket.NetAddress = { 
  address: '192.168.xx.xxx', 
  port: 1234 
} 
udp.bind(bindAddr, (err: BusinessError) => { 
  if (err) { 
    console.log('bind fail'); 
    return; 
  } 
  let sendOptions: socket.UDPSendOptions = { 
    data: 'Hello, server!', 
    address: { 
      address: '192.168.xx.xxx', 
      port: 8080 
    } 
  } 
  // 发送数据 
  udp.send(sendOptions, (err: BusinessError) => { 
    if (err) { 
      console.log('send fail'); 
      return; 
    } 
    console.log('send success'); 
  }); 
  console.log('bind success'); 
}); 
 
// 关闭连接 
udp.close((err: BusinessError) => { 
  if (err) { 
    console.log('close fail'); 
    return; 
  } 
  console.log('close success'); 
})

参考链接

Socket连接

分享
微博
QQ
微信
回复
2024-03-19 23:01:09
相关问题
ws库发送过快是否会阻塞接收
1982浏览 • 1回复 待解决
如何判断蜂窝信号强度
1971浏览 • 1回复 待解决
HarmonyOS 如何获取信号强度等信息
335浏览 • 1回复 待解决
如何判断手机信号的强度
388浏览 • 1回复 待解决
udp协议是否有提供框架
1816浏览 • 1回复 待解决
如何发送字节流数据 ?
513浏览 • 1回复 待解决
HarmonyOS 路由参数如何接收
234浏览 • 1回复 待解决
HarmonyOS 如何发送icmp请求?
68浏览 • 1回复 待解决