ラベル ネットワーク の投稿を表示しています。 すべての投稿を表示
ラベル ネットワーク の投稿を表示しています。 すべての投稿を表示

2012年6月8日金曜日

Wifi情報取得:SSID,IP Adrress,MAC Address,RSSI


package com.xxx;

import android.app.Activity;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class WifiTestActivity extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  WifiManager manager = (WifiManager) getSystemService(WIFI_SERVICE);
  WifiInfo info = manager.getConnectionInfo();
  String[] apInfo = new String[4];
  // SSIDを取得
  apInfo[0] = String.format("SSID : %s", info.getSSID());
  // IPアドレスを取得
  int ipAdr = info.getIpAddress();
  apInfo[1] = String.format("IP Adrress : %02d.%02d.%02d.%02d",
    (ipAdr >> 0) & 0xff, (ipAdr >> 8) & 0xff, (ipAdr >> 16) & 0xff,
    (ipAdr >> 24) & 0xff);
  // MACアドレスを取得
  apInfo[2] = String.format("MAC Address : %s", info.getMacAddress());
  // 受信信号強度&信号レベルを取得
  int rssi = info.getRssi();
  int level = WifiManager.calculateSignalLevel(rssi, 5);
  apInfo[3] = String.format("RSSI : %d / Level : %d/4", rssi, level);

  ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, apInfo);

  ListView listView = (ListView) findViewById(R.id.listView1);

  listView.setAdapter(adapter);

 }
}

マニフェストファイルに追加
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

2012年6月4日月曜日

サーバソケット

サーバ側プログラム

import java.io.*;
import java.net.*;

public class echoServer {
    public static void main(String args[]) {
        // ソケットや入出力用のストリームの宣言
        ServerSocket echoServer = null;
        Socket clientSocket = null;
        
        String line;
        BufferedReader is;
        PrintStream os;
        
        // ポート9999番を開く
        try {
         //待ち受けポートを指定して新しいサーバソケットを生成しています。
            echoServer = new ServerSocket(9999);
            System.out.println("EchoServerが起動しました(port=" + echoServer.getLocalPort() + ")");
            
            //acceptメソッドを呼び出し、クライアントからの接続待機状態に入ります。クライアントからの接続要求があると、socketにはクライアントとの通信に利用できるSocketのインスタンスが代入されます。
            clientSocket = echoServer.accept();
            System.out.println("接続されました "+ clientSocket.getRemoteSocketAddress() );
            
            is = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
            os = new PrintStream(clientSocket.getOutputStream());

            // クライアントからのメッセージを待ち、受け取ったメッセージをそのまま返す
            while ( (line = is.readLine()) != null ) {
                System.out.println("受信: " + line);
                os.println(line);
                System.out.println("送信: " + line);
              }
        }
        catch (IOException e) {
            System.out.println(e);
        }
        
    }
}

クライアント側プログラム

import java.io.*;
import java.net.*;

public class echoClient {
    public static void main(String[] args) {
        // ソケットや入出力用のストリームの宣言
        Socket echoSocket = null;
        DataOutputStream os = null;
        BufferedReader is = null;

        // ポート9999番を開く
        try {
            echoSocket = new Socket("localhost", 9999);
            os = new DataOutputStream(echoSocket.getOutputStream());
            is = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host: localhost");
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for the connection to: localhost");
        }

        // サーバーにメッセージを送る
        if (echoSocket != null && os != null && is != null) {
            try {
                // メッセージを送ります
                os.writeBytes("HELLO\n");

                // サーバーからのメッセージを受け取り画面に表示します
                String responseLine;
                if ((responseLine = is.readLine()) != null) {
                    System.out.println("Server: " + responseLine);
                }

                // 開いたソケットなどをクローズ
                os.close();
                is.close();
                echoSocket.close();
            } catch (UnknownHostException e) {
                System.err.println("Trying to connect to unknown host: " + e);
            } catch (IOException e) {
                System.err.println("IOException: " + e);
            }
        }
    }
}