[英]How can I transfer data from android to a PC via the Internet (kind of push notifications)
這是我要實現的目標:
我有一個彼此“了解”的android手機應用程序(本機)和一個台式PC應用程序(Delphi)(這意味着它們已經初始化為彼此相互了解全局唯一ID)。 如果我在電話上執行特定操作,則希望通過互聯網將數據(一些字節到幾kB)從電話傳輸到PC。 (為此使用外部服務器/服務是可以的。)
限制條件:
第一個想法是設置一個REST服務,電話將向該服務發送數據,而桌面應用程序將向該服務輪詢。 但這似乎並不優雅,而且我對這種擴展方式有些擔憂。 還有其他想法嗎?
編輯:最終程序應類似於Windows應用程序的遙控器。 因此,類似Windows的Google Cloud Messaging會有所幫助(但是從MS看來,這僅適用於Metro應用程序 )。
在我看來,您的方向正確。 使用翻新版或本機庫進行POST,並且由於您在PC上具有良好,穩定的互聯網連接(已插入friggen的牆=]),所以為什么不偶爾通過PC對服務器進行ping操作並注冊該IP通知? 當然,他們的IP有時會在離開網絡時發生變化,但幾乎沒有問題。
話雖這么說,如果您想超級輕松地完成此操作,請使用Parse ,我的朋友=]它可以輕松便捷地擴展,請確保在達到特定用法后花一些錢,但是我想您會很高興在以下時間付款您到了這一點。 無論如何,它比服務器操作系統便宜! 它會推嗎? 哦,是的。 它可以簡化Android / iOs應用程序嗎? 好吧,NoSQL容易嗎? =]如果您確實願意,甚至可以編寫一些js在雲上運行。
尚蒂
如您所寫:不斷輪詢服務器以獲取新數據並不理想。 即使有成千上萬個正在發送的Android應用程序,所以輪詢請求也可能會不斷返回數據。
您可以選擇其他協議,該協議支持從服務器到Delphi應用程序的異步發送。 MQTT和STOMP是其中兩個。 它們提供文本和二進制消息有效負載,並且當服務器推送消息時,您的Delphi應用程序將接收消息。
如果您期望如此大量的Android發送器設備,我還建議您評估消息代理,例如ActiveMQ或RabbitMQ。 它們使異步操作變得更加容易-您的Delphi應用程序可以停止一段時間(以進行維護),而不會丟失任何消息。 這些消息代理還提供有用的功能,包括高可用性和持久存儲。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.