タグ

socketに関するkazeburoのブックマーク (3)

  • 非ブロッキングI/O - s-kita’s blog

    ソケットはデフォルトでブロッキング。ソケットに関するシステムコールは、4つに分類できる。 入力操作 read, readv, recv, recvfrom, recvmsg。これらの関数をブロッキングTCPソケットに対して呼び出した際にソケットの受信バッファにデータが存在しない場合、呼び出したプロセスはデータが到着するまでスリープする。 ある量のデータが到着するまで待ちたいときには、MSG_WAITALLフラグを指定する。 非ブロッキングソケットでは、入力操作が即座に終了しない場合、これら関数呼び出しは即座にEWOULDBLOCKエラーを返して終了する。 出力操作 write, writev, send, sendto, sendmsg。TCPソケットではカーネルがアプリケーションのバッファからソケットの送信バッファにデータをコピーする。ブロッキングソケットの送信バッファに空きがない場合、

    非ブロッキングI/O - s-kita’s blog
  • へぼへぼCTO日記 - javascriptからsocketが扱えるJSocketを作りました

    javascriptからsocketを扱いたいなぁという事象が発生したんですが(それについては別エントリで)、SocketJSというのがあるんですがDownloadするところがなぜかSSLになっていてCAがCAcertでfirefoxだとデフォルトでは見れないので、かっとなって自分で作ってみました。今も反省していません。 コードはgithubからどうぞ。 使い方はjs/jsocket.jsに軽く書いてあります。 /* * Jsocket - Socket on Javascript * Author: Masahiro Chiba * Depends: * - jQuery: http://jquery.com/ * - jQuery TOOLS - Flashembed: http://flowplayer.org/tools/flashembed.html * SYNOPSIS:

  • へぼへぼCTO日記 - JSocketを使ってPOSTもストリーミングするPlackアプリ

    さて、前エントリでJSocketというのを作ったと書いたのですが、これは実はjavascriptで動くtwitter streamクライアントを作るならばmultipart/mixedを使うべきというのを読んで、レスポンスがpollではなくてストリーミングできるというのを知って、リクエストもやりたいよというふうに思ったのがきっかけでした。 まず、XHRでできないかを試してみたのですが、xhr.send(data)を一回読んでしまうと少なくともjavascript側ではリクエストは完了したと思ってしまって、再度xhr.send(data)しても反応はありませんでした。 そこでJSocketの登場です。JSocketを使うとhttpリクエストを断続的に送信することができます。やったですね。 で、Plack::Server::Coroを使って試しにリアルタイムチャットを作ってみました。どうぞお試

  • 1