我有應用程序Android通過連接Android應用程序與Windows應用程序(VB.NET)控制計算機(重新啓動,關機,...)通過網絡服務 我不知道從哪裏開始以及如何聯繫任何對此主題有任何想法的人員?通過Web服務與Android應用程序(Java)與Windows應用程序(VB.NET)之間的通信
回答
由於這是一個廣泛的問題,你問的想法讓我傾訴一些想法。
從哪裏開始?定義雙方理解的Web服務協議。例如,定義android客戶端可以將消息推送到(使用PUT或POST)的URI,並且vb.net客戶端可以輪詢更新(使用GET)。由於我們在這裏使用一個URI,因此發送給URI的負載必須定義要執行的操作。例如,Android客戶端可以發送消息「{command:restart}」,那麼vb.net客戶端應該知道如果收到消息,他必須重新啓動機器。
雖然這裏有一些注意事項。 vb.net客戶端需要輪詢URI來獲取命令,因此在發送命令和執行命令之間會有一些延遲,甚至更好,現在你甚至不知道命令是否被執行。沒有認證每個人都可以向Web服務發出命令,聽起來像是很有趣,至少對於其他方來說,最後你需要清除URI中的命令,如果它被執行或更新的話。否則,在這個例子中,進入重啓循環。
所以第一個問題可以用ext來解決ra URI,其中android客戶端可以輪詢vb.net客戶端提供的某些系統狀態王。例如,vb.net客戶端可能會在重新啓動之前將消息「{state:restarting}」發送到URI。當然,每次發生某事時,vb.net客戶端都需要更新該URI。安全問題?安全性很難。您可能需要創建一個證書並簽署發送的請求,以便服務器使用它。然後服務器可以檢查是否真的是誰發送了這個請求。或者有人擁有你的證書,重播請求或找到某種方式來打破整個事情。因此,您還可能想要使用TLS以及一些certificate pinning的國王。您可能已經知道這一點,但我會重複它:不要通過不安全的網絡發送憑據。 base64(在basic authentication中使用)也不是某種加密。最後的問題可以通過可以包含在命令中的隨機數來解決。或者當vb.net客戶端收到該命令時,從URI中清除該命令(使用DELETE)。它應該更新狀態URI,以便android客戶端不再發送請求。
或者你放棄了整個網絡服務的東西使用技術,如Web Sockets。然後android客戶端可以發送一個命令到套接字。服務器接收命令並將其發送到vb.net套接字。當vb.net套接字收到該命令時,它會向服務器發送某種傳遞收據並執行該命令。服務器收到收據並向Android客戶端發送一個確認信息,以便它知道執行命令將會執行。
正如你看到有很多實現這樣的解決方案,所以讓我總結什麼時候做:
- 確定你使用的情況。系統必須支持哪些操作以及參與方如何參與。
- 找到每個用例的角落案例。例如需要解決的認證問題。
- 做了一些研究,以最好的方式支持你的想法。也許Web服務不是最好的解決方案?什麼是Web服務? (似乎是任何人使用的流行語之王)。也許Web Sockets,XML RPC甚至SOAP是更好的候選人?
- 定義組件的協議
- 實現它
一個最後一個音符。我知道這是一個相當長的答案?這可能會在讀者頭腦中產生很多問題。但是,不要氣餒!你不必做任何我在這裏寫的東西。那麼除了安全的事情可能。
- 1. Web應用程序和Android應用程序之間的通信
- 2. Windows應用程序和Android應用程序之間的通信
- 3. Windows與使用vb.net或C#的Web應用程序之間的通信#
- 4. Web應用程序和C應用程序之間的通信?Web服務?
- 5. vb.net應用程序之間的通信
- 6. 用於與Android應用程序通信的Web服務平臺
- 7. 通過套接字與Windows應用程序進行Web應用程序通信
- 8. Android應用程序通過插座與服務器通信
- 9. 通過RPC從Java應用程序與Windows進程通信
- 10. java web應用程序和web服務之間的線程間通信
- 11. 服務與網絡/桌面應用程序之間的通信
- 12. C++應用程序和web應用程序之間的通信
- 13. 服務器應用程序和Android應用程序之間的通信
- 14. 如何通過Web服務將Android應用程序與MySQL DB進行通信?
- 15. 如何讓Android應用程序通過互聯網與Web服務器通信?
- 16. Java應用程序和C++應用程序之間的通信
- 17. Mac應用程序與safari中的web應用程序通信
- 18. Windows服務和桌面應用程序之間的通信
- 19. 如何在Windows服務器上與我的應用程序之間的通信
- 20. C#Web服務與Windows應用程序
- 21. 桌面應用程序如何與Web應用程序通信?
- 22. Windows操作系統環境下C++應用程序與Java應用程序之間的進程間通信
- 23. 什麼是與neo4j服務器通信的web應用程序
- 24. Android應用程序 - 與PC應用程序的通信
- 25. 通過Wifi將Android應用程序與PC應用程序進行通信
- 26. 應用程序插件與其他應用程序的服務之間的通信[Android]
- 27. Android私人應用程序與GPL Android服務進行通信
- 28. Android應用程序與內核之間的通信
- 29. 原生應用程序,與相同應用程序服務器通信的Web應用程序
- 30. C++和vb.net應用程序之間的進程間通信
謝謝你 將閱讀有關此主題我仍然是學生,這是我的畢業設計 我對這些主題了解不多 –