2014年4月5日土曜日

開発環境

Head First Java 第2版 ―頭とからだで覚えるJavaの基本(Kathy Sierra (著)、Bert Bates (著)、島田 秋雄 (監修)、神戸 博之 (監修)、高坂 一城 (監修)、夏目 大 (翻訳)、オライリージャパン)の15章(ネットワークとスレッド)、自分で考えてみよう(p.482)を解いてみる。

自分で考えてみよう(p.482)

コード(BBEdit, Emacs)

DungeonTest.java

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

public class Sample482 {    
    public static void main(String [] args) {
        Sample482 sample = new Sample482();
        sample.go();
    }

    public void go() {
        try {
            // まだサーバー側は出来てない
            Socket s = new Socket("127.0.0.1", 5000);
            InputStreamReader streamReader =
                new InputStreamReader(s.getInputStream());
            BufferedReader reader = new BufferedReader(streamReader);
            String message = reader.readLine();
            System.out.println(message);
            reader.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        try {
            // 無効なIPアドレス
            Socket s = new Socket("IPアドレス", 5000);
            PrintWriter writer = new PrintWriter(s.getOutputStream());
            writer.println("Hello, server!");
            writer.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

入出力結果(Terminal)

$ javac Sample482.java && java Sample482
java.net.ConnectException: Connection refused
 at java.net.PlainSocketImpl.socketConnect(Native Method)
 at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:382)
 at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:241)
 at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:228)
 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:431)
 at java.net.Socket.connect(Socket.java:527)
 at java.net.Socket.connect(Socket.java:476)
 at java.net.Socket.<init>(Socket.java:373)
 at java.net.Socket.<init>(Socket.java:187)
 at Sample482.go(Sample482.java:13)
 at Sample482.main(Sample482.java:7)
java.net.UnknownHostException: IPアドレス
 at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:223)
 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:431)
 at java.net.Socket.connect(Socket.java:527)
 at java.net.Socket.connect(Socket.java:476)
 at java.net.Socket.<init>(Socket.java:373)
 at java.net.Socket.<init>(Socket.java:187)
 at Sample482.go(Sample482.java:26)
 at Sample482.main(Sample482.java:7)
$

0 コメント:

コメントを投稿