タグ

ioとSocketに関するi_matsuiのブックマーク (2)

  • Socket通信の勉強(1) - ディスクリプタ/TCPによる通信

    Socket通信を勉強する。 前提プログラムはMac(Mojave)で動かす。ネットワークに関する知識はほんの少しある。使うプログラミング言語はC++だが、ここではbetter Cの意味でしか用いない。(寄り道) ファイル入出力Socket通信を学んでいると、ファイルディスクリプタが出てきたので、まずはそこから勉強する。 関数定義についてはJM Projectから引用したものを用いる。これはLinuxマニュアルと同じらしいので、恐らくmanコマンドで出力されるものと同じである(ただし英語であるが)。 ファイルディスクリプタとはファイルディスクリプタとは、ファイルと結びつけられた単なる整数値である。データの読み書きを行う場合は、この整数値を指定してアクセスする。例えばファイルtest.txtのファイルディスクリプタが4だった場合、読み書きをする関数read/writeには引数4を指定する。

  • Webサーバにおけるソケット周りの知識 - Carpe Diem

    概要 サーバサイドの仕事をしているとソケットという概念に遭遇すると思います。 ソケットを理解すると TCPセッションの流れ ulimitでnofileを上げないとコネクション増加した時のToo many open filesが出るのはなぜか なぜサーバの待ち受けポートは1つで、クライアントのポートは接続するたびに新しいポートが必要なのか unix domain socketはなぜファイルパスを指定するのか Circusはなぜgraceful restartが可能なのか といったことが分かるようになります。 今回そういったソケット周りの知識を理解するためにまとめます。 ファイルディスクリプタ ソケットを扱う上で切り離せないのがファイルディスクリプタ(以下fd)です。 fdとはファイルやソケットなどを抽象化した仕組みです。 ファイルディスクリプタという名称ですが、ファイルに限らず標準入出力、ソ

    Webサーバにおけるソケット周りの知識 - Carpe Diem
  • 1