0

私は現在、TPC/IP ソケット接続を使用して Android でアプリを構築しています。次のコードを使用して、wifi 接続に関する IP アドレスを取得しています。

このコードにより、serverIp と Ip だけを取得できます。

WifiManager manager = (WifiManager) c.getSystemService(c.WIFI_SERVICE);
DhcpInfo info = manager.getDhcpInfo();
WifiInfo wifiInfo = manager.getConnectionInfo();

次を使用してサーバーIPを取得しています:

info.serverAddress

そして、次を使用したIPアドレスのみ:

info.ipAddress

(注:申し訳ありませんが、logcatの結果を表示できないため、IPアドレス=(...)基本的にこれらのコードは、サーバーアドレスとwifiのIPアドレスを取得します。しかし、TCP /を作成するにはどちらを使用すればよいですかIP 接続プログラム? プログラムは wifi のみに基づいています。

4

2 に答える 2

0
  1. アプリケーションのサーバー部分が、取得したサーバーIPで実行されていることが確実な場合は、そのポートへのソケットを作成します。サーバーにドメイン名が関連付けられている場合は、パブリックサーバーの場合、iドメイン名が関連付けられていることを確認してください。

例えば:

2秒の接続タイムアウトでポート4444でサーバーに接続するには:

Socket s = new Socket();
s.connect(new InetSocketAddress("117.10.10.10.",4444),2000);

サーバーから読み取るには:

InputStream is = s.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = BufferedReader(isr);

    String s = null;

    while ((s=br.readLine())!=null)

        {

              System.out.println(s);

         }

サーバーに書き込むには:

OutputStream os = s.getOutputStream();
PrintWriter pw = new PrintWriter(os);
pw.println("hello");
于 2012-07-04T19:01:30.120 に答える
0

次のようなものを使用する必要があります

            Socket s = new Socket("www.server.com", 80);

クライアント アプリケーションをサーバーに接続します。それ以外はすべて、他のコンポーネントの責任であり、アプリの責任ではありません。http://developer.android.com/reference/java/net/Socket.html#Socket(java.lang.String , int)を参照してください

于 2012-07-04T15:53:22.670 に答える