■今研究のために勉強しているのが、サーバクライアントなものだったりするのです。
今までネットワークの勉強していなかったので意外と大変…
しかしJavaの場合、APIがしっかりしているので簡単なはずなわけです。
だからこれから書く備忘録は結構間違ってるかも。
自分以外は使えないと思いますので参考にしないようにw
あとクラスは紹介しませんが、原則
・java.ioクラス
・java.netクラス
の二つを使えばできると思います。細かくはAPIを見てください。
■基本的にソケットによる通信を行います。今回はサーバ側のお話。
まず、サーバ側でソケット作成し、通信許可を出します。
ServerSocketコンストラクタでサーバソケットを作成するわけです。
ただ実際作るときはポート指定するようです。
ServerSocket server; // サーバソケット作成
server = new Serversocket(10000); // 10000番ポートで受付
それからaccept()メソッドで通信許可をします。
Socket sock = server.accept(); // ソケットを作って通信許可
あとはデータ受信用にgetInputStream()メソッドを、
データ送信用にgetOutputStream()メソッドを準備します。
ファイル入出力と似たようなモンですが、種類がいっぱいあるようです。
/* 文字ストリームを受け取る送信用 */
OutputStreamWriter out =
new OutputStreamWriter(sock.getOutputStream());
とりあえず最低限はこれだけ。
作業が済んだらclose()メソッドでソケットは閉じます。
sock.close(); // ソケットを閉じる
今まで説明した一連の流れは例外が発生する可能性があるので、
try・catchというものを利用して例外処理を行います。
加えて通常はいつでもサーバ側にアクセスできるようにwhile文で待ちます。
try{
// サーバソケット作成
while(true){
// ソケットを作って通信許可
// 作業
}
// ソケットを閉じる
} catch(IOException e){
// 例外処理
}
流れ的にはこんな感じです。多分。
気力があれば次はクライアント側です。
今までネットワークの勉強していなかったので意外と大変…
しかしJavaの場合、APIがしっかりしているので簡単なはずなわけです。
だからこれから書く備忘録は結構間違ってるかも。
自分以外は使えないと思いますので参考にしないようにw
あとクラスは紹介しませんが、原則
・java.ioクラス
・java.netクラス
の二つを使えばできると思います。細かくはAPIを見てください。
■基本的にソケットによる通信を行います。今回はサーバ側のお話。
まず、サーバ側でソケット作成し、通信許可を出します。
ServerSocketコンストラクタでサーバソケットを作成するわけです。
ただ実際作るときはポート指定するようです。
ServerSocket server; // サーバソケット作成
server = new Serversocket(10000); // 10000番ポートで受付
それからaccept()メソッドで通信許可をします。
Socket sock = server.accept(); // ソケットを作って通信許可
あとはデータ受信用にgetInputStream()メソッドを、
データ送信用にgetOutputStream()メソッドを準備します。
ファイル入出力と似たようなモンですが、種類がいっぱいあるようです。
/* 文字ストリームを受け取る送信用 */
OutputStreamWriter out =
new OutputStreamWriter(sock.getOutputStream());
とりあえず最低限はこれだけ。
作業が済んだらclose()メソッドでソケットは閉じます。
sock.close(); // ソケットを閉じる
今まで説明した一連の流れは例外が発生する可能性があるので、
try・catchというものを利用して例外処理を行います。
加えて通常はいつでもサーバ側にアクセスできるようにwhile文で待ちます。
try{
// サーバソケット作成
while(true){
// ソケットを作って通信許可
// 作業
}
// ソケットを閉じる
} catch(IOException e){
// 例外処理
}
流れ的にはこんな感じです。多分。
気力があれば次はクライアント側です。