ソフトウェア設計及び演習用の班Wiki

gr03:025::第7回11/21(THU)

プロセス間通信

ファイル識別子

  • Linuxではいろいろなデバイスを「ファイル」とみなして統一的に扱う。
    ファイルをオープンすると番号が与えられる。
    プロセスの標準入出力番号
    0:標準入力 1: 標準出力 2:標準エラー出力

入出力

  • バッファを用いた文字列の読み出し書込み
    ssize_t read(int ファイル識別子,char * バッファ, int 読みだし長)
    ssize_t write(int ファイル識別子,char * バッファ, int 書き込み長)

TCP/IPとソケット

  • 通信プログラムはファイル識別子からread/writeすることで通信する。
  • 通信相手はソケットで指定。
  • サーバーソケットに対し、クライアントソケットが接続した時点で通信路が確立(TCP)

非同期通信

service関数
  • read/writeの順番を決めると入力データが届いていないファイル識別子をreadしてもreadは待ち状態のままで入力があるまで動き出さない。
  • 入力データがあるかを確かめてからreadを行うのがselectシステムコール。
    (glibがある程度融通効くらしい)

GDKイベント

イベント


最終更新日:2013/11/21 13:41:52