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

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 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错