簡體   English   中英

我該如何通過互聯網將數據從android傳輸到PC(類似於推送通知)

[英]How can I transfer data from android to a PC via the Internet (kind of push notifications)

這是我要實現的目標:

我有一個彼此“了解”的android手機應用程序(本機)和一個台式PC應用程序(Delphi)(這意味着它們已經初始化為彼此相互了解全局唯一ID)。 如果我在電話上執行特定操作,則希望通過互聯網將數據(一些字節到幾kB)從電話傳輸到PC。 (為此使用外部服務器/服務是可以的。)

限制條件:

  1. 手機或PC可以位於Internet上的任何位置,例如NAT路由器之后和/或防火牆之后
  2. 客戶應該沒有必要進行任何配置(盡管設置了唯一ID)。 它應該開箱即用。
  3. 數據傳輸開始應該很快(最好<1秒)
  4. 可能會有數千名用戶使用該服務
  5. 我希望不要依賴Google帳戶(這不是交易突破口)

第一個想法是設置一個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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM