2006-03-05から1日間の記事一覧

ちょっと裏側を解説

閑話休題.ネットワークの話に戻ろう.基本的には,/net/tcp/*/ctlがコントロール用のファイル,/net/tcp/*/dataがデータ通信用のファイルになる./net/tcp/*以下を見ると,ctlとdata以外にも次のようなファイルが存在することがわかる. %cpu ls /net/tcp/5…

後始末(シグナルではなくてノート)

このままだとcatは入力を待ち続けて,終了しない.ctl-Dでも終了しない.なぜだろう?ということでcatをkillする.killもUNIXとはちょっと違っている.killの引数はコマンド名で(pkillに近いね),しかも,killコマンドが本当にプロセスを殺すのではなく,"ec…

rcでエコークライアント

Plan9のシェルはrcである.まず,/net/tcp/cloneというファイルをcatして,その出力を覚えておこう. cpu% cat /net/tcp/clone 5ここからが本番で,/net/tcp/cloneに"connect Linuxマシンのアドレス!ポート番号"を書き込む.このcatプロセスが死ぬとコネクシ…

Linux側のエコーサーバ

今時のLinuxだと,エコーサーバなんか動いていないだろうから,Perlで次のようなプログラムを書いてみた.LinuxマシンのIPアドレスは12.34.56.78とする. #!/usr/bin/env perl use IO::Socket; $s = new IO::Socket::INET(Listen => 5, LocalAddr => '12.34.…

ネットワークのファイルへの抽象化

Plan9というオペレーティングシステムでは,Plan9はソケットインタフェースを採用せず,ネットワークに対しても,通常のファイルに対するインタフェース,つまりopen-read-write-closeを使って操作すると言った.UNIXには/devディレクトリ以下にデバイスファ…