タグ

studyとsocketに関するsomathorのブックマーク (3)

  • golangで作るTCPIPプロトコル

    はじめに とりあえずIT業界に入ったら読んでおけという名著はいろいろありますが、その中の1冊がマスタリングTCP/IP入門編でしょう。 僕も買ってはいたものの読むのを途中で挫折していたので、今回しっかり読んでTCP/IPを再勉強してみたいと思います。 マスタリングTCP/IPを読みながらその他わからんことはググりつつ、golangでTCPIPプロトコルそのものを自作してみます。 方針は以下のようにします。 ethernetから作る データのやり取りにnetパッケージは一切使わない (訂正、PCのIPやMacアドレスを取るのにだけ使用しますた) データのやり取りに使うのはsyscallのsendtoとrecvfromだけ socketはRAW_SOCKETを使う golangやネットワークについても初心者の駆け出しですので間違えや実装ミス、変なコードがあるかもですが、生暖かい目でよろしゅうお

    golangで作るTCPIPプロトコル
  • 【Linux】Nginxのtcpのbacklogの設定が何をしているのかに入門する - 地方エンジニアの学習日記

    目次 目次 概要 tcpソケットプログラミングとは サーバ側 3way-handshakeと状態遷移 backlogとは syn-queue どうやったら溢れるか 溢れたらどうなるか accept-queue どうやったら溢れるか (メモ)Nginxのアーキテクチャ 溢れたらどうなるか tcp_abort_on_overflow=1 tcp_abort_on_overflow=0 まとめ 概要 nginx.org backlog=number sets the backlog parameter in the listen() call that limits the maximum length for the queue of pending connections. By default, backlog is set to -1 on FreeBSD, DragonFly BSD,

    【Linux】Nginxのtcpのbacklogの設定が何をしているのかに入門する - 地方エンジニアの学習日記
  • ネットワークプログラミングの基礎知識

    ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板

  • 1