タグ

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

  • 関連タグはありません

タグの絞り込みを解除

Programmingとlinuxとtipsに関するmoritataのブックマーク (2)

  • ソケットプログラミングのTips

    概要 ソケットプログラミングに関するTipsをメモレベルで記載する。 切断検知と経路切断 TCPコネクションの切断検出 対向がclose()、shuttdown()、プログラム終了等をしたときの切断検出について。 OSをシャットダウンさせた場合も通常はアプリケーションの終了処理が走り、正常な切断が動く。 受信側の切断検出は、recv()がlength==0で返ってきたとき、または、errno==ECONNRESETとなる。(ECONNRESETはRSTによって切断された場合) 送信側の切断検出は、切断された後2回目のsend()がエラーとなる。 ※相手がclose()→こちらがsend()→相手にパケットが飛ぶが待ち受けプログラムがいないためRST応答が来る→もう1度send()→エラー ※send()自体はカーネルの送信バッファにデータコピーするだけなので、TCPレベルの応答(送信完了)

    ソケットプログラミングのTips
  • ソースコードを快適に読むための GNU GLOBAL 入門 (前編)

    2009-03-07 ソースコードを読むときは、複数のファイルから目的の関数を探してエディタで開くという作業をすることが多い。 Eclipse や NetBeans などの統合開発環境上で Java を読む場合は、クラスやメソッドの一覧からソースコードへ簡単にジャンプすることができる。 ターミナル上で C を読む場合は、 grep コマンドで関数を探してエディタ (vim) で開いていたんだけど、ファイル数が多くなると目的の関数に辿り着くのが大変になってくる。 そこで GNU GLOBAL というソースコード解析ツールを試してみたら、ソースコードを読む作業がとても快適になった。 このツールの存在は前から知っていたんだけど、ネット上では「ソースコードタグシステム」、「ctagsのようなもの」という説明が多く、 ctags が何なのかを分かっていない僕には、便利だけど難しそうなものだと勝手に思

    ソースコードを快適に読むための GNU GLOBAL 入門 (前編)
  • 1