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、代码内创建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);
}
分享
微博
QQ
微信
回复
2024-12-19 19:18:45
相关问题
HarmonyOS bind提示Address not available
899浏览 • 1回复 待解决
HarmonyOS UDP socket bind失败
1001浏览 • 1回复 待解决
HarmonyOS 使用flutter创建packages时报错
1077浏览 • 1回复 待解决
HarmonyOS socket tcp连接报错
1307浏览 • 1回复 待解决
Socket连接报错,错误码88
2791浏览 • 1回复 待解决
通过USB连接打印机打印小票时报错
1336浏览 • 1回复 待解决
ohos.net.socket (Socket连接)链接不上
7107浏览 • 1回复 待解决
HarmonyOS socket连接失败code: 103
1126浏览 • 1回复 待解决
socket连接NetAddress获取问题
1269浏览 • 1回复 待解决
native创建socket会失败
2523浏览 • 1回复 待解决
使用ohpm发布tgz文件时报错
1921浏览 • 1回复 待解决
网络地址建立socket连接
1786浏览 • 1回复 待解决
使用featureAbility.getContext()时报错如下
2412浏览 • 1回复 待解决
HarmonyOS 蓝牙socket.sppWrite 报错
990浏览 • 1回复 待解决
在native层创建socket异常
1713浏览 • 1回复 待解决
openharmony 基于arkts的socket连接问题
5531浏览 • 1回复 待解决