gpt4 book ai didi

java - 更新 UI 时接收多个 UDP 数据包

转载 作者:行者123 更新时间:2023-12-01 14:11:51 26 4
gpt4 key购买 nike

我有一个应用程序,我从服务器接收信息,然后在屏幕上向用户显示该信息。由于信息很多,我想在收到信息时更新 UI。

发送/接收是在单独的线程上完成的。

两个问题:

  1. 如何才能最好地接收多个 UDP 数据包?我当前接收一个数据包的代码

    try {
    Log.i(TAG,"Listening...");
    _dcOut.setSoTimeout(20000);
    _dcOut.receive(packet);/* Wait to receive a datagram */
    haveDatagram = true;
    Log.d(TAG,"dc_out, received...");
    }
    catch (Exception e) { // can be just a time out
    haveDatagram = false;
    Log.d(TAG,"dc_out, failed to receive...");
    }
  2. 是否可以在接收多个 UDP 数据包时更新 UI?

编辑:我正在使用绑定(bind)服务从服务器获取信息(具体为 AIDL)。设置如下:

我要么:1. 获取一个单独的对象并将其发回,这就是该特定服务实例的对象,或者2.我可以发回该服务的列表

我的想法是,我应该发回一个包含 5-10 个对象的列表,然后重复一段时间?

--我觉得我无法在使用此服务设置接收数据包时更新 UI--

最佳答案

如果 UDP 数据包的接收是在单独的线程上完成的,那么在 GUI 上显示它应该没有问题!

您的代码显示仅接收 UDP 数据。我需要更多具体信息:)

只有一个 UDPSocket 处理特定端口上的传入数据,它们将全部(数据包)按顺序存储在专用于该特定进程的缓冲区中。

关于java - 更新 UI 时接收多个 UDP 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18470550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com