タグ

ネットワークとprogrammingに関するshunmatsuのブックマーク (2)

  • 送受信 - Linuxカーネルメモ

    1. 受信処理 1.1 従来の受信処理 ネットワークインタフェースで受信したパケットは、デバイスドライバのH/W割り込み処理処理で刈り取られる。デバイスドライバは受信したパケットをカーネルの受信キューに積み、ソフトウェア割り込みを発生させる。 受信ソフトウェア割り込みのハンドラは、受信キューに積まれているパケットを取りだし該当プロトコルの受信ハンドラを呼び出す。 デバイスドライバの受信処理が受信キューにパケットを積むだけで、受信処理のメインはソフトウェア割り込み処理で実装しているのは、H/W割り込みの処理を極力短くしてシステムのレスポンスを向上させるため。 受信処理の流れを図1に示す。 1. 従来の受信処理ではデバイスドライバがネットワーク層にパケットを渡す際、netif_rx()を使用する。 2. ソフトウェア割込みを発生させる際、poll_listには仮想的なnet_device(ba

  • Lingr and Comet - 技術解説編:Kenn's Clairvoyance

    さて、お待たせしました。いよいよCometとLingrについての技術解説です。 ■Comet解説 さて、まずはCometとは何で、どういう背景によって生まれたのか、についての解説から始めます。 まず前提として、Webアプリケーションにおいては、通信開始のトリガーは常にクライアント側が握っています。つまりURLを入力したりボタンをクリックしたときなどに通信が発生することになるわけですが、このようなアーキテクチャは、サーバ側で発生した変化をリアルタイムにクライアント側に通知することが原理的にできないことを意味します。 チャット・アプリケーションでは、複数のユーザから不定期にメッセージが送信され、それが他の参加者に一斉に配信されなければなりません。しかし、メッセージを受け取ったサーバ側では、それをクライアントに即座にプッシュで通知する方法がないのです。 そのため、一定期間ごとにブラウザがサーバに

    Lingr and Comet - 技術解説編:Kenn's Clairvoyance
  • 1