トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

MoteView

JavaでのXServeからのXMLストリーム受信

Xserve にソケットでアクセスする例.

192.168.20.215 で稼働する MoteView 上で xserve を "-xmlp -xmlport 9005" というオプションが付いた状態で起動している場合,192.168.20.215 のポート 9005 にアクセスするとパースされた XML データが取得可能.

例えば,Tera Term 等で 192.168.20.215 の 9005 にアクセスしてしばらく待っていると,XML データが流れてくるのを見ることができる.

9005 ポートにアクセスしてデータを表示するだけの単純な Java プログラムは下記のような感じで書ける.

--- PortCheck.java
// 元ネタ: http://journal.mycom.co.jp/column/java/046/index.html
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;

public class PortCheck 
{
    public static void main(String[] argv) throws Exception
		{
			PortCheck stream = new PortCheck();
			stream.check(argv[0]);
		}

    public void check(String aHost) throws Exception
		{
			Socket socket = new Socket(aHost, 9005);

			BufferedReader reader = new BufferedReader
				(new InputStreamReader(socket.getInputStream(), "US-ASCII"));

			OutputStream output = socket.getOutputStream();

			int c;
			while ((c = reader.read()) != -1) {
				System.out.print((char)c);
			}

			reader.close();
		}
}
---
javac PortCheck.java
java PortCheck 192.168.20.215

で動作する.