Working with TCP Sockets 読書メモ 第1章 はじめてのソケット

目次


はじめてのソケット

Rubyのソケットライブラリ

  • require 'socket'でRuby標準のソケットライブラリを読み込める
require 'socket'

socket = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM)
  • STREAMという種類のソケットを、INETドメインで作成する
    • INETはinternetの短縮形で、IPv4系のプロトコルを指し示す
  • STREAMのかわりにDGRAMを使用すれば、UDPソケットになる

エンドポイントを理解する

IPアドレス

  • ソケットはIPアドレスを使用して、お互いの場所を調べる
    • ホスト名を使用して、DNSに名前解決させることもできる

ループバック

  • 多くのシステムには自分自身を参照するIPアドレス(ループバックアドレス)が設定されている
  • ループバックアドレスのホスト名はlocalhost、IPアドレスは127.0.0.1であることが多い

ポート

  • IPアドレスとポート番号の組み合わせは、それぞれのソケットでユニークでなければならない

はじめてのソケットを作成する

ドキュメント

  • ソケットプログラミングのためのドキュメントは、システムに既に含まれていることが多い

manpage(UNIX Manual pages)

  • Cの関数のドキュメント
  • たとえば、$ man 2 socketsocket()関数のマニュアルを表示する
    • man 2はマニュアルページのセクション2を表示する
    • 一般に、manpageの章立ては以下のようになっている(6は欠番)
      1. シェル・コマンド
      2. システムコール
      3. Cライブラリ関数
      4. スペシャルファイル
      5. ファイルフォーマット
      6. その他

ri(Ruby command line documentation)

  • Rubyのインストール時にドキュメントが含まれている場合は、$ ri Socket.new等でドキュメントを参照できる

この章で扱ったシステムコール

  • socket(2) (Socket.newに対応)

ディスカッションに参加

1件のコメント

コメントをどうぞ

コメントを残す