私は2つの部分で構成されるアプリをコーディングしています。デスクトップとアンドロイド。 1台のデスクトップといくつかのアンドロイドデバイスがあります。 (カウントを知らない)TCPとデスクトップの間でAndroidデバイスを通信したい。しかし、アンドロイドデバイスは、デスクトップのIPアドレスを知っていません。ネットワーク上の特定のデスクトップのIPアドレスを見つける方法は?
私は2つの方法をthouht:
1-デスクトップアプリは、起動時にローカルIPアドレスを変更します。だからアンドロイドのデバイスは、IPアドレスを知っている。 (私はそのIPアドレスでコード化しました)
2デスクトップアプリケーションは、送信されたデスクトップのIPアドレスにIPアドレス(192.168.0.1 - 192.168.0.255)を常に接続しようとします。アンドロイドデバイスがネットワークに接続すると、接続が受け入れられ、デスクトップのIPがわかります。
しかし、両方の点でいくつかの問題があります。
まず、lan ipを変更するには、管理者である必要があります。したがって、javaでadminとしてコマンドを実行することは問題です。私がこれを行うと、ユーザーがプログラムを起動すると、uacは常にそれを要求します。
私は、アプリケーションが常に接続しようとするため、パフォーマンスの問題があると思います。アンドロイドデバイスが接続され、dhcpが192.168.0.5を与えるが、ループは192.168.0.150にあるとき、これを実行する。だからアンドロイドデバイスは接続を待つ必要があります。
これよりも良い方法はありますか?
誤っている場合は正しく入力してください。デスクトップアプリはexのホスト名を設定します。 "blabla"とすべてのアンドロイドデバイスは "blabla:port"に接続しようとします。右? –