タグ

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

タグの絞り込みを解除

socketに関するsleepy_yoshiのブックマーク (5)

  • CLOSE_WAITのセッションを早く消す方法 - つれづれなる・・・

    原因はおそらくwebサーバ〜DBサーバ間のセッションがネットワーク的に不安定だったからだと思うけど、DBサーバで netstat -an すると 大量の CLOSE_WAIT のセッションが残ってしまって、MySQL の最大コネクション数にまで達してしまってwebの表示が出来なかった。CLOSE_WAIT をいきなり消すことは出来ないので、早めに消えるようにしたいときは tcp_keepalive_time TCPセッションが確立されて検査が実施されるまでの時間 時間になると tcp_keepalive_intvl と tcp_keepalive_probes の値にしたがって検査を実施する tcp_keepalive_intvl 次の検査を実行するときの待ち時間 tcp_keepalive_probes 検査の回数のそれぞれの値を小さくしてあげればよい。変更方法は vi で :wq する

  • LINUX忘却録 Linuxのコネクトタイムアウト

    Linux (カーネル 2.4.23)では、ブロッキングモードで、Connectは、通常平均 180秒でタイムアウトします。 これは、接続の時にクライアント側が、サーバに対してSYNを送信し、ACKが帰ってきたら接続成功なのですが、このACKが帰ってこない時に、クライアントは、SYNの再送を試みます。 このとき再送は、以下のように5回再送されます。 最初のSYN送信    (0秒経過) 3秒経過してACKが、戻らないとき、SYN(1)を再送します。  (3秒経過) また、6秒経過してACKが、戻らないとき、SYN(2)を再送します。  (9秒経過) また、12秒経過してACKが、戻らないとき、SYN(3)を再送します。  (21秒経過) また、24秒経過してACKが、戻らないとき、SYN(4)を再送します。  (45秒経過) また、48秒経過してACKが、戻

  • connect関数のタイムアウトを設定する - ろくでなしプログラマの雑記

    connect()のタイムアウト値はOSによって違うけどなんだかんだで長い TCPスタックが自動的にSYNを送り続けてタイムアウトを待たないとconnect()はエラーを返さない のでselectで任意のタイムアウト値を設定して試行するのを書いてみますた 解説は特になし 何かあればメールかコメントで コンパイルはgcc、一応動作確認はしたつもりでつ #include #include #include #include #include #include #include #include #include #define RESULT_SUCCESS 0 #define RESULT_ERROR (-1) #define RESULT_TIMEOUT (-2) #define CONNECT_TIMEOUT_VALUE 5 int connect_timeout(int port , c

    connect関数のタイムアウトを設定する - ろくでなしプログラマの雑記
  • 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

  • IPC: socket | Shinta's Site

    ソケットが正常に作られると、ソケット記述子を返し、失敗すると -1 を返します。 次に、ソケットのアドレスの情報を構造体に格納します。その構造体は、ドメイン(プロトコルファミリ)によって異なります。 ローカル通信である PF_UNIX を利用する場合、sockaddr_un 構造体を利用します。 #include <sys/un.h> struct sockaddr_un{ sa_family_t sun_family; /* PF_UNIX */ char sun_path[108]; /* パスネーム */ }; インターネット通信である PF_INET を利用する場合、sockaddr_in 構造体を利用します。 #include <netinet/in.h> struct sockaddr_un{ short sin_family; /* ドメイン(PF_INET) */ u_sh

  • 1