Linux

【ただの技術備忘録】【第5回】LinuxC、ソケットプログラミング〜解説編2〜

2.ソケットのアドレス 各ソケットドメインには独自のアドレス形式が必要。故に、ソケットにIPやプロトコルを割り当てる為の構造体が準備されている。AF_INETドメインではnetinet.hで定義されているsockaddr_in構造体を使用する。 #include <netinet/in.h> struct sockaddr_</netinet/in.h>…

【ただの技術備忘録】【第6回】LinuxC、ソケットプログラミング〜解説編3〜

3.bind関数でソケットを命名するsocketシステムコールで作成したソケットを、他のプロセスから利用できるようにソケットに命名する。他のプロセスから利用できるようにする、ということはIPやポートなどをソケットに関連付けるわけだが、その基本情報は前回…

【ただの技術備忘録】【第1回】LinuxC、ソケットプログラミング初歩

諸般の事情によりソケットプログラム初歩を記してみるなど。 ソケットプログラミングというと何だか小難しく聞こえるが、基本的にはファイルディスクリプタを媒介として入出力を行うだけだ。言い換えるとパイプ処理とプロセス間通信の延長戦に過ぎない。それ…

【ただの技術備忘録】【第2回】LinuxC、ソケットプログラミング初歩

予告どおり、さくっとプログラムを記載。このプログラムは基本的にLinuxのGCCで組むので、Widows諸君はWinsockの参考書片手に、概念だけ理解していただけると助かる。サーバプログラム「server.c」 #include <sys/types.h> #include <sys/socket.h> #include <stdio.h> #include <netinet/in.h> #include <arpa/inet.h> #incl</arpa/inet.h></netinet/in.h></stdio.h></sys/socket.h></sys/types.h>…

【ただの技術備忘録】【第3回】LinuxC、ソケットプログラミング初歩

まず、前回のプログラムの実行方法である。サーバプログラムを「server.c」、クライアントプログラムを「client.c」とした場合に $ gcc -o server server.c $ gcc -o client client.c $ chmod +x server $ chmod +x client で、コンパイルが通るはず。 因み…

【ただの技術備忘録】【第4回】LinuxC、ソケットプログラミング〜解説編1〜

まずはサーバ側から。変数、ヘッダファイルは後で解説。 1.socket(システムコール)でソケットを作成する。 #include <sys/types.h> #include <sys/socket.h> socket(int domain, int type, int protocol); 作成されたソケットは、通信の片方の端点になる。引数domainはアドレスの種類</sys/socket.h></sys/types.h>…

【ただの技術備忘録】サイトの移植のときとかに引っかかりそうな罠(自分だけ)

テストサーバから本番サーバへサイトの移行。 テストサーバは自分で組んだが、本番サーバは誰が組んだのか酷い仕様である。が、既にサービスが動いているので致しかたない。順当にディレクトリを作って移動。 トップページを見に行くと・・・ [Tue Oct 13 14…

【ただの技術備忘録】qmailエラー warning: trouble opening を解決するために出来ること

朝にメールのlogを見たら変なメッセージが。 Oct 9 10:43:48 hoge qmail: 1255052628.654080 warning: trouble opening remo te/11/13468282; will try again later Oct 9 10:43:48 hoge qmail: 1255052628.654101 warning: trouble opening remo te/7/13468…

【ただの技術備忘録】Centos5.3でPHP5.3のssh2関数を使用可能にするなど

手っ取り早くインストールを行う。 root権限で。 # yum --enablerepo=remi install php-pear # yum --enablerepo=remi install php-devel # wget http://www.libssh2.org/download/libssh2-1.2.tar.gz # tar xvfz libssh2-1.2.tar.gz # cd libssh2-1.2 # ./c…

【ただの技術備忘録】g++がインストールできない!?

swfmillをインストールしようとして出てきたエラー checking for C++ compiler default output file name... configure: error: C++ compiler cannot create executables無論のことながらgccはインストールしている、はずであった。 結論から言えば、 yum -y…

【ただの独り言】HDDの速度計測 for Linux

HDD(はーどでぃすくどらいぶ)の速度計測のお話。 システムを組み上げるとき、特に組み込みのシステムの場合、HDDとかの速度が気になっちゃうときがあったり無かったりラジバンダリ。無論、HDDの仕様でも読めば理論値は書いているのですが、如何せん理論値。 …