雲悳蕲塡 2017-06-08 08:31 采纳率: 66.7%
浏览 2022
已采纳

react native 的udp在接收服务器返回的数据的时候用了20s才接收到信息

不多说上图
图片说明
我想服务器发送一条指令
10s返回了我发的这条指令
20s返回服务器该返回的值
(socket.on执行了2次)
比如我发条指令GET-OK
返回值是OK
就是说我socket.send(GET-OK)
socket.on(GET-OK)
socket.on(OK)

  • 写回答

1条回答 默认 最新

  • 大光网络 2018-04-23 07:07
    关注

    我也出现过这个问题,最后被我解决了,主要的原因是收到数据获取数据来源的HostName和Port占用大量的时间,通过修改代码:
    react-native-udp / android / src / main / java / com / tradle / react / UdpReceiverTask.java
    问题在第47和第50行,如下代码

     final InetAddress address = packet.getAddress();
     final String base64Data = Base64.encodeToString(packet.getData(), packet.getOffset(),
     packet.getLength(), Base64.NO_WRAP);
     receiverListener.didReceiveData(base64Data, address.getHostName(), packet.getPort());
    

    改成:

     //final InetAddress address = packet.getAddress();
     final String base64Data = Base64.encodeToString(packet.getData(), packet.getOffset(),
     packet.getLength(), Base64.NO_WRAP);
     receiverListener.didReceiveData(base64Data, "", 0);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作