我最近几天在Android上一直在研究客户端服务器应用程序。 我选择使用Java套接字通信,因为我对它很熟悉,当时看起来更容易。 我想帮助我,因为我认为这对我想做的事情来说还不够。
当时,作为一个基本的演示应用程序,我使用AsyncTask连接到我的Java服务器并交换文本消息以安排预约。这是最终目标,一个可用于预约约会的Android应用程序
我已经读过AsyncTask应该不会被使用更长的时间,我真的希望服务器在约会时间在下一个小时内或者什么时候向客户端发送消息。
我可以使用AsyncTask吗?我想不是。从我在网上看到的内容,AsyncTask冻结了UI,直到它完成。(我不明白,因为它是一个线程,但无论如何这就是我所读到的)。
您是否会使用其他东西而不是套接字和AsyncTask来推荐我?
提前致谢,ilias
答案 0 :(得分:1)
让客户端等待服务器消息的问题是众所周知的。你是对的,在等待响应时保持连接打开不是一个好主意。
经典解决方案是民意调查。选择一个时间间隔,连接到服务器,请询问结果是否已经可用。如果是的话,那就去吧。如果不是,请稍后再试。 当然,这不是完美的解决方案,但许多应用程序都以这种方式实现。
感兴趣的读者: 看看Web Sockets。我们的想法是保持一个轻量级连接,使服务器能够在没有客户端明确请求的情况下发送数据。但这似乎仍在进行中。
答案 1 :(得分:1)
异步任务适用于您正在执行的操作。我认为您正在阅读的内容是需要不断轮询来自服务器(如聊天客户端)的信息的应用程序。