読書会(Javaネットワークプログラミングの真髄)第6回議事録

[ 戻る ]


Java 読書会「Java ネットワークプログラミングの真髄」を読む会 第6回
日時: 2008/07/26 (土) 10:00〜17:00
場所: てくのかわさき 第5研修室
参加者 (敬称略):
高橋(徹),高橋(智),根本,岩室,村上,
小棚木,松永,今井,吉本,岡澤
議事録: 岡澤

12.3.4 より.

12.3.4 多重化と I/O
(a)リクエストハンドラ
 readable かつ writable な場合どうなる ?
  処理する順番はあるのか ?
  包含関係はないだろう.
   アプリケーション依存ではないか.
   BSD ソケットの select と考えればわかりやすい.

List 12.11
readable の最後で writable を呼んでいるのはなんでだろう.

バッファの管理は,ハンドラのコードが担当するため,アプリケーション側に面倒な管理コードが入らない.

List 12.12
if (fileChannel == null) は誤植
  if (fileChannel != null) じゃないといけないはず.

12.3.5 リクエストをリードする

12.3.6 リプライをライトする

12.3.7 会話が長い場合

12.3.8 ブロッキングと並列セレクト
selectedKeys が同期化されていないのは何故 ?
 selector から取得したキーの参照からローカル変数に set を作っている,から問題ない ?

12.3.9 ノンブロッキングモードを回復して再登録する

12.3.10 接続のクローズ

12.3.11 シングルスレッドのサービス

12.4 クライアントの形

12.4.1 コネクションプール

12.4.2 リクエスト-リプライのトランザクション

12.4.3 複数の対話

12.5 JDK 1.5 の Executor

12.6 ステージ分割型イベント駆動アーキテクチャ

13 ネットワーキングの嘘と間違い

13.1 ネットワーキングの 8 つの嘘
6 ネットワーク管理者が 1人いる
 実際は管理者が1人以上いることを批判している ?
  神様が 1 人いるような,秩序のあるイメージではないか.

13.1.1 嘘: ネットワークは信頼性がある
<宿題> バックホーは日本でいうショベルカーのようなものなのか ?

13.1.2 嘘: 遅延 (待ち時間) はゼロである

13.1.3 嘘: 帯域幅は無限である

13.1.4 嘘: ネットワークは安全である

13.1.5 嘘: トポロジーは変わらない

13.1.6 嘘: ネットワーク管理者が 1 人いる

13.1.7 嘘: 転送の費用はゼロである
誤植: 転送 -> 通信

13.1.8 嘘: ネットワークは均質である


13.2 そのほかの嘘
13.2.1 嘘: ネットワーク I/O はディスク I/O とほとんど同じだ

13.2.2 嘘: 通信する両者は同期している

13.2.3 嘘: エラーはすべて検出できる
write しながら LAN ケーブルをこっそり抜いてみる.
すると,送信バッファがいっぱいになるまでずっと書き続ける.

確認のリプライが帰ってこない場合もある.

ssh してる途中でマシンを上げ下げしたら,まだ繋がってた.
 切断を検知するならプロトコル上の規定で死活監視が必要.

API はバッファの読み書きしかしないから,本当につながってるかどうかは分からない.

13.2.4 嘘: 資源は無限にある

13.2.5 嘘: アプリケーションはリモートサービスを永遠に待てる

13.2.6 嘘: リモートサービスはタイミング良く得られる

13.2.7 嘘: エラーの原因は一つである

13.2.8 嘘: 資源の割り当てを担当する処理やシステムが一つある

13.2.9 嘘: 時間は一つである

付録 A TCP ポートのステート

付録 B プラットフォーム依存性

訳者あとがき
誤字
フーォラム -> フォーラム
どうやって入力したのか ...


[ 戻る ]