AndroidアプリケーションとWindowsアプリケーション(vb.net)を接続することで、コンピュータを制御する(再起動、シャットダウン、 Webサービスを通じて 私はどこから始めるべきか、連絡方法はわかりません。ウェブアプリケーションでWindowsアプリケーション(vb.net)を使用したアンドロイドアプリ(java)の通信
答えて
これは広範な質問であり、あなたはアイデアを求めて、私にいくつかの考えを注ぐようにしました。
どこから始めますか?双方が理解しているWebサービスのプロトコルを定義します。たとえば、アンドロイドクライアントが(PUTまたはPOSTを使用して)メッセージをプッシュできるURIを定義し、vb.netクライアントが(GETを使用して)更新をポーリングできるようにします。ここで1つのURIを使用するので、URIに送信されるペイロードは何をすべきかを定義しなければなりません。例えば、アンドロイドクライアントは '{command:restart}'というメッセージを投稿すると、vb.netクライアントはメッセージが受信された場合にマシンを再起動する必要があることを知る必要があります。
ここにはいくつかの注意点があります。 vb.netクライアントはURIをポーリングしてコマンドを取得する必要がありますので、コマンドを送信して実行するまでに時間がかかりますが、現在ではコマンドが実行されたかどうかは分かりません。他の当事者のために、最後に、実行されたか更新された場合は、URIからコマンドをクリアする必要があります。そうでなければ、マシンは、この例では、再起動ループに入ります。
したがって、最初の問題はとext ra URI。ここで、アンドロイドクライアントはvb.netクライアントが提供するシステム状態のいくつかの王をポーリングできます。たとえば、vb.netクライアントは、再起動する前に '{state:restarting}'というメッセージをURIに送信することがあります。もちろん、vb.netクライアントは、何らかのイベントが発生するたびにそのURIを更新する必要があります。セキュリティの問題?セキュリティは難しい。証明書を作成し、サーバーに送信された要求に署名することができます。それから、サーバーは、あなたが本当にこの要求を送信したかどうかを確認できます。またはあなたの証明書を持っている誰かが、要求を再生したり、すべてのものを壊す何らかの方法を見つけました。したがって、TLSとcertificate pinningのキングを使用することもできます。あなたはすでにこれを知っているかもしれませんが、とにかくそれを繰り返すつもりです。安全でないネットワークで資格情報を送信しないでください。また、base64(basic authenticationで使用)は何らかの種類の暗号化ではありません。最後の問題は、コマンドに含めることができるノンスで解決することができます。または、vb.netクライアントは、コマンドを受信したときに、そのコマンドをURIから削除します(DELETE付き)。アンドロイドクライアントがリクエストを再度送信しないようにステータスURIを更新する必要があります。
また、Web SocketsのようなWebサービスの使用技術を削除することもできます。その後、アンドロイドクライアントはソケットにコマンドを送信できます。サーバーはコマンドを受信し、vb.netソケットに送信します。コマンドがvb.netソケットで受信されると、サーバーに何らかの種類の配信確認が送信され、コマンドが実行されます。サーバは領収書を受信し、コマンドが実行されることを知らせるようにアンドロイドクライアントに確認メッセージを送信します。が実行されます。
あなたはので、私がまとめてみましょう、このようなソリューションを実装する際に行うのですかたくさんあります見ての通り:
- あなたはケースを使用定義が。どのような操作がシステムでサポートされなければならないのか、どのような場合に参加パーティーが関与するのか。
- 各ユースケースのコーナーケースを見つける。たとえば、解決する必要がある認証の問題です。
- 可能な限り最良の方法であなたのアイデアをサポートする技術に関するいくつかの研究を行います。多分、Webサービスが最善の解決策ではないでしょうか?とにかくWebサービスとは何ですか? (誰でも使用する流行語のいくつかの王と思われる)。たぶんWeb Sockets、XML RPC、さらにはSOAPが良い候補ですか?
- コンポーネント
- はそれを
最後の一つのノートを実装するためのプロトコルを定義します。私はこれがかなり長い答えであることを知っていますか?読者の頭にたくさんの質問が出るかもしれません。しかし、落胆しないでください!あなたは私がここに書いた何もする必要はありません。多分セキュリティーの事を除いて。
- 1. vb.netまたはC#を使用したWindowsとWebアプリケーション間の通信
- 2. アンドロイドアプリとc#windowsフォームアプリ間のブルートゥース通信
- 3. ウィンドウメッセージングを使用したJAVAとC#間のアプリケーション間通信
- 4. はVB.Net(Windowsアプリケーション)を使用して式
- 5. 通信APIを使用してJavaアプリケーションからSMSを送信
- 6. Windows OS環境のC++アプリケーションとJavaアプリケーション間のプロセス間通信
- 7. SQL Server 2005を使用してVB.NET Windowsアプリケーションでメモリリークを確認
- 8. VB.Netを使用したポストリクエストの送信
- 9. ソケットを使用したJavaでのクライアント - サーバー通信
- 10. USB経由でアンドロイドアプリとPCアプリケーションとの通信
- 11. JavaアプリケーションとC++アプリケーション間の通信
- 12. JavaアプリケーションとC++アプリケーションの統合/通信
- 13. SignalRを使用した複数のWebアプリケーション間の通信
- 14. SQL Server Expressを使用したVB.NETアプリケーション
- 15. gattプロトコルを使用したWindows 10 Bluetooth通信
- 16. VB.NetのWindowsアプリケーションでバーコードスキャナを使用する
- 17. ウェブアプリケーションを使用したリモートデスクトップコントロール
- 18. Javaを使用した2台のマシン間の通信
- 19. Javaを使用した2つのコンテナ間のドッカー通信
- 20. アンドロイドアプリでメール通知を受信
- 21. UWPアプリケーションとWindowsサービスとの通信
- 22. EclipseのEclipseを使用したJavaのWindowsアプリケーション
- 23. Azure通知ハブを使用したXamarinアプリケーションからのプッシュ通知の送信
- 24. javaの通信APIを使用してシリアルポートにデータを送信
- 25. vb.netでコード化された私のアプリケーションを通じてSMSを送信する
- 26. CURL:クライアントとサーバーの通信Windows c/java
- 27. Windows通信へのJavaインターフェイス? (OLE、OPC、DDE)
- 28. javaウェブアプリケーション用のオラクルドライバ
- 29. SwingとRXTXを使用したJava RS232通信
- 30. Javaでlog4j2を使用したWindowsイベントログ
ありがとう 私はまだ学生ですが、これは私の卒業プロジェクトです 私はこれらのトピックについてたくさん知らない –