タグ

programmingとserverに関するyukungのブックマーク (4)

  • NIOの非ブロック接続を利用した多重IOの実装

    はじめに 『Javaによる簡易HTTPサーバーの作成』第4回目の今回は、クライアントとの通信に、これまで利用してきたSocketではなく、NIOで提供されるSocketChannelを利用します。 Socketでは、実際の入出力にはStreamを利用します。この時、例えばInputStream#readを呼び出すと、データが読み込み可能になるか例外になるまではreadメソッドから制御が戻りません。そのため、同時に複数のクライアントからの要求を処理するためには、クライアントごとにスレッドを利用する必要がありました。 これに対して、SocketChannelを非ブロックモードで利用すると、まだデータが到達していない、あるいはシステムの送信用バッファがフルになっているなどの理由でデータを転送できない時には、制御が呼び出し側に戻されます(これをJ2SEのAPIドキュメントでは「非ブロック接続」と呼

    NIOの非ブロック接続を利用した多重IOの実装
  • 自作HTTPサーバーのマルチスレッド化と動作検証

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    自作HTTPサーバーのマルチスレッド化と動作検証
  • Basic認証・Digestアクセス認証の実装

    はじめに 『Javaによる簡易HTTPサーバーの作成』第2回目の今回は、RFC2617で規定されているHTTPのBasic認証およびDigestアクセス認証を、前回作成したHTTPサーバーに実装します。 記事では HTTPの認証の仕組み NullObjectパターンの利用 Javaでメッセージダイジェストを利用する方法 デファクトスタンダードと仕様の齟齬(そご)の実例 といったトピックを取り上げます。 対象読者 記事は、Javaプログラミングの初級者から中級者を対象に、J2SEのメッセージダイジェストの利用方法や、NullObjectデザインパターンの利用などについて解説します。 また、HTTPの認証機構や、RFCと現実の実装の差などの、コンピューティングの周辺知識についても簡単に説明します。 必要な環境 記事のソースをビルド/実行するには、J2SE 1.4以上を利用してください。ソ

    Basic認証・Digestアクセス認証の実装
  • ServerSocketを利用した簡易HTTPサーバーの自作

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    ServerSocketを利用した簡易HTTPサーバーの自作
  • 1