タグ

tcpに関するundisclosedのブックマーク (3)

  • Programming UNIX Sockets in C - Frequently Asked Questions: クライアントとサーバ(TCP/SOCK_STREAM)両方に関する質問

    Previous Next Table of Contents 2. クライアントとサーバ(TCP/SOCK_STREAM)両方に関する質問 2.1 相手側のソケットが閉じられたことをどうやって知ることができますか? Andrew Gierth 氏 ( andrew@erlenstar.demon.co.uk) より: 私の知る限り… 相手側が (SO_LINGER を使ったややこしいことをしないで) close() するか終了したとすると、こちらの read() の呼び 出しは 0 を返すはずです。同じ場合で、write() 呼び出しで何が 起こるかは、もうちょっとわかりづらいです。直後の呼び出し時ではな く、その次の呼び出し時にEPIPE が返るでしょう。 もし相手が再起動するか l_onoff = 1, l_linger = 0 を設定して から閉じたとすると、read() からは(

  • TCPとUDPの違いを10個挙げてみる - ikeas's blog

    ふと思い立って、こんなことを考えてみた。8個くらいまではすいすい出てきたけど、10個見つけるのに意外と時間がかかった。もっとあると思うけど。 受信確認とパケット再送 おそらく、一番の違いはこれ。TCPは確実に届くがUDPはそうではないと言われる所以。 速度 これもTCPとUDPを大きく分ける理由の一つ。上記の受信確認もそうだが、TCPは様々な制御を行っているため、通信速度はUDPよりも遅い。そこで、不確実でもデータを高速に送りたい場合はUDPを採用することが多い。また、TCPの過剰な機能が環境によっては不都合なことがあり、その場合はUDPベースで独自プロトコルを実装することがある。 順序保証 TCPにはシーケンス番号があるので、同一ストリームで複数のメッセージを送った際には、その順番が保証される。例えば、"hoge"の後に"fuga"を送信した場合、TCPでは確実に"hoge" "fuga

    TCPとUDPの違いを10個挙げてみる - ikeas's blog
  • Windowsネットワーク 第16...@IT:連載 基礎から学ぶ

    第16回 信頼性のある通信を実現するTCPプロトコル(3):基礎から学ぶWindowsネットワーク(3/4 ページ) TCP技術を習得するうえで非常に重要な項目として、「TCPの状態遷移図」というものがある。これはTCPプロトコルの規格書であるRFC793(STD0007)に掲載されている、TCPプロトコルの内部ステートを表現した図である。すでに解説したように、TCPでは接続ごとに、それぞれシーケンス番号やACK番号、オープン/クローズなどの処理状態といった「ステート(状態)」を持っている。このようなプロトコルを「ステートフルな(stateful、状態を持つ)」プロトコルという。TCP接続のオープンやクローズ、確立などに伴う、状態の変化を表現した図を「状態遷移図」という。 以下は、RFC793に記載されているTCPの状態遷移図を簡略化したものである(完全な状態遷移図についてはRFC793を

    Windowsネットワーク 第16...@IT:連載 基礎から学ぶ
  • 1