我在Azure云中运行 ASP.Net Web Forms 应用程序。现在我有一个特殊要求,我不知道如何解决:服务器必须通过互联网从 Android 客户端接受传入连接,然后长时间保持该连接打开(或待机)时间(天) 因此,经过数小时甚至数天后,服务器必须找到它到Android客户端的方式并向其发送一些数据。我可以使用任何技术适用于两个合作伙伴,但自互联网以来介于两者之间,http / https优先作为协议(尽管具有TCP端点的WCF也可能在客户端启动连接时起作用)。我唯一能想到的是让客户端不断轮询服务器,如果有可用的命令/数据,但该解决方案很丑陋,浪费了大量的资源。当服务器有事情要做时,客户端应该在几秒钟内作出反应,因此我必须使用~10s的轮询间隔。我知道http"保持活力"存在并可以在C#WebClients中使用,但我怀疑它是否符合我的要求?还有其他可能实现这个目标吗?
答案 0 :(得分:0)
根据Niraj的回复,我找到了Google Firebase云消息。之后,我阅读了可用于.Net的XMPP协议和SignalR技术,最后决定使用SignalR,因为它的实现非常简单,不需要第三方的参与。