目次
はじめてのソケット
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 socket
でsocket()
関数のマニュアルを表示する
man 2
はマニュアルページのセクション2を表示する
- 一般に、manpageの章立ては以下のようになっている(6は欠番)
- シェル・コマンド
- システムコール
- Cライブラリ関数
- スペシャルファイル
- ファイルフォーマット
- その他
ri(Ruby command line documentation)
- Rubyのインストール時にドキュメントが含まれている場合は、
$ ri Socket.new
等でドキュメントを参照できる
この章で扱ったシステムコール
- socket(2) (
Socket.new
に対応)
コメントをどうぞ