HarmonyOS 使用socket创建UDP连接,bind指定address时报错 2301099 'Address not available'.

设备连接物联网设备热点后,使用socket创建UDP连接,bind指定address时报错 2301099 'Address not available'。

出错代码:

let udp: socket.UDPSocket = socket.constructUDPSocketInstance();
try {
  await udp.bind({ address: '192.168.xx.xx', port: xxxx }) // 运行代码为真实IP及端口
} catch (e) {
  console.error('bind error:', e);
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

操作步骤:

1、手机连接物联网设备热点

2、代码内创建UDPSocket,bind指定ip及端口

HarmonyOS
2024-12-19 16:57:59
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

socket的bind函数入参地址是本机IP:bind(address: NetAddress, callback: AsyncCallback<void>): void绑定IP地址和端口,端口可以指定或由系统随机分配。使用callback方式作为异步方法。

本机获取IP参考:

let localAddress = resolveIP(wifi.getIpInfo().ipAddress);

export function resolveIP(ip: number): string {
  if (ip < 0 || ip > 0xFFFFFFFF) {
    throw ('The number is not normal!');
  }
  return (ip >>> 24) + '.' + (ip >> 16 & 0xFF) + '.' + (ip >> 8 & 0xFF) + '.' + (ip & 0xFF);
}

export function checkIp(ip: string): boolean {
  let ipRegex = /^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$/;
  return ipRegex.test(ip);
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
分享
微博
QQ
微信
回复
2024-12-19 19:18:45
相关问题
HarmonyOS bind提示Address not available
617浏览 • 1回复 待解决
HarmonyOS UDP socket bind失败
796浏览 • 1回复 待解决
HarmonyOS 使用flutter创建packages时报错
843浏览 • 1回复 待解决
HarmonyOS socket tcp连接报错
935浏览 • 1回复 待解决
Socket连接报错,错误码88
2598浏览 • 1回复 待解决
通过USB连接打印机打印小票时报错
1084浏览 • 1回复 待解决
ohos.net.socket (Socket连接)链接不上
6777浏览 • 1回复 待解决
HarmonyOS socket连接失败code: 103
802浏览 • 1回复 待解决
socket连接NetAddress获取问题
1054浏览 • 1回复 待解决
使用ohpm发布tgz文件时报错
1726浏览 • 1回复 待解决
使用featureAbility.getContext()时报错如下
1866浏览 • 1回复 待解决
网络地址建立socket连接
1538浏览 • 1回复 待解决
native创建socket会失败
2342浏览 • 1回复 待解决
HarmonyOS 运行HmosWorld时报错
1082浏览 • 1回复 待解决
openharmony 基于arkts的socket连接问题
5174浏览 • 1回复 待解决
HarmonyOS 蓝牙socket.sppWrite 报错
724浏览 • 1回复 待解决