qq_31343823
雲悳蕲塡
采纳率66.7%
2017-06-08 08:31 阅读 1.9k
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    lsgsunny 大光网络 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);
    
    点赞 2 评论 复制链接分享

相关推荐