「Working With TCP Sockets」を読んだ
December 31, 2013
大切なことはここにすべて載っています。
Working With TCP Socketsを読んだ - $shibayu36->blog;
これも読みました。
電子書籍「irbから学ぶRubyの並列処理 ~ forkからWebSocketまで」EPUB版をGumroadから出版しました!
100円で完結にまとめられていて最高でした。
コード参考
EventMachine: scalable non-blocking i/o in ruby
send(2)のマニュアルページ
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/sendmsg.2.html
ソケットの流れ
- socket(2) ソケットの生成
- bind(2) ソケットとポートの結合
- listen(2) 接続キューの作成(サーバ)
- accept(2) 接続受け入れ(サーバ)
- send(2), write(2) パケット送信
- recv(2), read(2) パケット受信
- close ソケットの終了
基礎について改めて勉強になった。accept_loop便利だった。
IO.selectの部分はepollとかkqueueでやってるんじゃないのかな。
EventMachineどうなってるんだろう。って思って調べたら
- ext/project.h
#ifdef HAVE_EPOLL #include#endif #ifdef HAVE_KQUEUE #include #include #endif #ifdef HAVE_INOTIFY #include #endif
ってやってた。
この人の本はわかりやすくていい。