タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

programmingとunixに関するlakehillのブックマーク (2)

  • socket / programming memo

    [戻る] 概要 プロセス間通信の方法の一つとしてsocketを使う。 通信を行う二つのプロセスのうち、一方をserver、もう一方をclientとする。 serverは通信を行うための口を用意する。 通信の準備 通信を行う口は以下の手順で用意する。これはserverが行う。 socketを作る。(socket) socketに名前を付ける。(bind) 受け入れOKを示す。(listen) これで通信を行う口は用意された。この後、clientは自分で作ったsocketをこの口に結合(connect)し、serverはそれを受け入れる(accept)。serverのsocketに名前を付けるのは、clientがその名前のsocketに結合するのに識別名が必要だからである。 connectとacceptはどちらが先に発行されてもかまわない。お互い結合されるのを待つ。 socketの名前 soc

  • 東大の演習問題に挑戦 - ボクノス

    東大のアルゴリズムとデータ構造演習(リンク切れ)が面白そうなので演習問題を解いてみる。 課題1-A:シェルを実装せよ。 ガンバリマス。 方針 パイプもリダイレクトも無し。一番簡単そうな実装を目指します。 1行取得は面倒なのでGNU getline使います。 fork,exec,waitを使って実装します。 execはexecvpを使うことにしました。 引数の処理は、単語の先頭ポインタをargvに追加して、スペースか改行があったら\0で踏み潰していきます。 コーディング #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> #include <unistd.h> void prompt(void) { printf("* "); } int main(void) { /* 行の取得用 */ char *line = NULL;

    東大の演習問題に挑戦 - ボクノス
  • 1