Java Android连续tcp轮询

Java Android连续tcp轮询,java,android,sockets,tcp,project,Java,Android,Sockets,Tcp,Project,我正在做一个项目,在这个项目中,我可以在我的Android应用程序上看到门前人群的摄像头图像 但是我有点糊涂了。我已经成功地通过手机上的服务与处理图像发送的服务器建立了连接 但我只想在有人按门铃时从服务器上获取图像,因此我需要向我的应用程序发送通知或其他信息,以便我知道门前有一个,我想决定是否接听他的电话 这就是为什么我感到困惑:如果我在android服务中打开tcp套接字,我怎么知道我的服务器发送了一条“呼叫”消息,因为tcp套接字在服务创建时是打开的。我需要每秒钟都进行一次投票吗?那么我还是

我正在做一个项目,在这个项目中,我可以在我的Android应用程序上看到门前人群的摄像头图像

但是我有点糊涂了。我已经成功地通过手机上的服务与处理图像发送的服务器建立了连接

但我只想在有人按门铃时从服务器上获取图像,因此我需要向我的应用程序发送通知或其他信息,以便我知道门前有一个,我想决定是否接听他的电话

这就是为什么我感到困惑:如果我在android服务中打开tcp套接字,我怎么知道我的服务器发送了一条“呼叫”消息,因为tcp套接字在服务创建时是打开的。我需要每秒钟都进行一次投票吗?那么我还是有一点可能错过电话留言


或者我必须以服务器的形式运行应用程序,以客户端的形式运行门铃,以便客户端请求连接?

看看云到设备的消息传递,c2dm,也更节能。内置在android中。

如果在创建服务时打开了tcp套接字,只需从服务器向连接的客户端发送一些适当的消息即可。如果您的客户端已连接,它将获得它。您只需要在客户端持续连接和断开连接时进行轮询,例如,像许多HTTP 1 web服务一样。

您能否详细说明如何检测门铃事件?服务器是否放置在与门和摄像头相同的位置?谁来检测门铃、服务器还是android客户端?服务器是一台基于linux的计算机,运行一个Qt程序,该程序是服务器应用程序。当按下门铃时,Qt程序将识别出这一点,并向客户端(android应用程序)发送门铃被按下的消息,因此您建议使用C2DM,并从服务器向云发送消息,将云发送到我的android。那么,我可以从安卓系统向云端发送消息,还是需要打开tcp套接字来读取图像?我正在使用Qt(c++)编写我的服务器side@Gunther服务器可以有一个开放的套接字等待客户端,当门铃响时,它会发送一条C2DM消息,以便客户端android应用程序可以打开套接字并开始接收图像提要。嗯,这似乎非常有用,我将尝试这种方式,thanx!我寻找C2DM已经有一段时间了,但我似乎无法让它工作。。我想用Qt/c++编程服务器,但是没有教程之类的东西。。有没有其他方法可以做到这一点?根据我在回答中给出的链接,或者更具体地说,这一节中,您的服务器只需要能够作为客户端通过http进行通信,即发布消息(如果您不想涉及http客户端库,则通过tcp套接字进行通信相当简单,不过可能更喜欢使用库)