ネットワークプログラミング

非同期通信その2

入出力の多重化 プロセス間通信を行うには、ソケットのディスクリプタ(ソケット番号と呼んでもいい気が)を通じて行います。どのディスクリプタからデータが読めるかを管理するものとして、「fd_set」と呼ばれるデータ構造(ビットマスク)が用意されていま…

非同期通信 その1

いよいよ非同期通信に入ります。題材は鬼ごっこ。 画面制御「curses」ライブラリ ちょっと寄り道になってしまうのですが、キャラクタベースの端末での制御が基本なので、お付き合いをします(^^; 「curses」ライブラリを使用エスケープ文字列を直接扱うと端末…

ライブラリ化

3目並べ(いわゆる○×)を題材にした、1対1ソケット通信用ライブラリの構築例になっています。ソケット通信用プログラミングとしては特に新しいネタは無し。構築ってほど大げさなものではなく、汎用的な関数へのまとめ方、makeなどプログラミングの基本的…

hostent構造体の中身

hostent構造体は、内で以下のように定義されている。 struct hostent { const char *h_name; /* official name of host */ char **h_aliases; /* alias list */ short h_addrtype; /* host address type */ short h_length; /* length of address */ char **…

チャット その2

昨日、どうもソケットによる通信を実感できなかったので、復習。各タイミングでソケットのディスクリプタの中身などを表示させながら、ステップ実行させることで、なんとなく雰囲気がつかめました。ソケットの通信では、通信を確立するのに、以下のことが必…

チャットプログラム

サーバーとクライアントの二つのプログラムを動かし、チャットするサンプルをお試しで動かしてみました。が、今ひとつ実感が湧きませんでした。チャットできたからといって、その通信がソケットによるプロセス間通信なんだってことが、実感として掴めないた…

ソケットはプロセス間通信を行うための手段

プロセス間通信を行う手段としてソケットがある。 ソケットは各プロセスの端子に繋ぐプラグのようなもの。 プロセス間通信にはコネクション型とデータグラム型の二種類がある。 コネクション型は連続して通信路を確保する全二重通信。電話。 データグラム型…

はじめ

Cygwinを導入できましたので、いよいよ本題。ソケットを使ったネットワーク・プログラムのお勉強を始めます。参考書はこれ。 UNIXネットワークプログラミング入門posted with amazlet at 05.03.22雪田 修一 技術評論社 (2003/06/05)売り上げランキング: 18,4…