革新的コミュニケーションツール
iOSアプリからUIWebViewなどを介さずにnode.js+Socket.IOと双方向通信するための簡単なサンプルを紹介します。 サーバ側の実装 iOSアプリからnode.js+Socket.IO間で双方向通信するには、socket.IO-objcというライブラリを使用します。 今回はサーバ側には弊社うえじゅん氏が公開している記事で作ったチャットアプリを使用しますので、まずは以下の記事を参考にチャットアプリを作っちゃってください。 Node + Socket.IO で簡単なチャットアプリの作成 チャットアプリの準備が終わったら、早速iOSアプリ側の準備をしましょう。ここからは以下の環境を前提に説明します。 Mac OS X 10.8 Moutain lion Xcode 4.5.2 iOS SDK 6.0 iOSアプリの実装 サンプルプロジェクトのダウンロード 今回紹介するiOSアプリ
※2012/01/09 追記 続きもあるよ あらすじ 先月晴れてsocket.ioクラスタがデビュー。 しかし想定していたよりxhr-polling接続が多くてフガフガな状況に。 こりゃxhr-pollingの性能評価もしとくべきだったなーと思いを馳せるアルパカ。 そこでsocket.io-clientでベンチマークを走らせたのだが websocketと時と異なりコネクションがすぐに詰まるという自体が発生…! アルパカ大明神の運命やいかに!? 現象 socket.io-clientでxhr-pollingのコネクション貼りまくると5コネクションで詰まる。 時間が経つとその内ヌルッと進む。 chromeやfirefoxでも同様。 調査 様々なクライアントから実行しても同様の状況が見られたため サーバの問題と断定しサーバ調べる。 しかしコード追ったりトレース取ったりしてもまったく原因わからず…
近年、HTML5やJavaScriptを活用したWebアプリケーションが増えるのと同時に、今まではネイティブなアプリケーションが常識であったデスクトップアプリケーションにもHTML5の波がやってきました。 具体的な例としてはWindows 8で追加されたWindowsストア アプリでは、HTML5とJavaScriptを利用したアプリケーションの開発がサポートされています。 HTML5で開発できる領域は広がっていますが、切っても切れない関係なのがサーバとの通信です。そして、その通信を見ていくと、最近ではユーザが能動的に情報を取りに行くスタイルではなく、FacebookやTwitterに見られるようなサービス提供側から情報がリアルタイムで配信されるスタイルが増えつつあります。 図1 Facebookメッセンジャーの入力中表示 これらのリアルタイム通信はサーバとの接続を常時行っておく必要がある
Tuppari公開記念Hackathonで作ろうとした奴を作ってみました。 ごめんなさい、micro instanceなのでアクセス過多で動かない時があるかもしれません、ちょっと調整中です。 リアルタイムリソース監視アプリ yosuke-furukawa/dstatwatcher · GitHub WebSocketを使ってリアルタイムにリソース監視したりログ監視したりするのは正直よくあるやつなのですが、fluentd使ってみたかったというのと、highchartを本業の方で使おうか迷った挙句、使えなかった経緯があったので、使ってみようと思って作成してみました。 大体、↓の感じの流れでやってます。 Fluentdとdstatのつなぎの部分にはfluent-plugin-dstatを使用しています。 shun0102/fluent-plugin-dstat · GitHub これを使うと、d
今日のブログのお題は、SPDY。Webサービスを「とにかく速くしよう!!」ということで、Google が提唱したプロトコルです。既にChromeでは、このSPDYが実装されており、サーチやGMailなど Google が提供する殆どのサービスで既に利用されています。 最近では、FireFoxへのインプリが始まったり、HTTP/2.0検討のベースとなるなど何かと話題のWeb最新技術です。 SPDYがWebを早くする仕組み SPDYは、現状のWebが抱える問題 ”HTTPは遅い!!" を解決するものです。HTTP が "遅い" 原因は色々ありますが、中でも最も大きいのは Request and Response の制限です。このため、SPDY では一本の HTTPS セッションの中で複数の HTTP セッションを多重化するといったことを行い高速化を実現しています。 Request & Resp
8月3日現在 Node stable v0.4.10, Socket.IO v0.7.7 表80をnginx->裏3000とかでsocket.io動かしてる場合WebSocketはダメでもxhr-pollingとかなら80に繋ぎにいっても動くはず、と思って試してみてるけど動かない、、どうなってるんだろうコレ 2011-08-03 12:03:16 via Twitter for Mac socket.io v0.6系だと動くようなのに0.7で動かない? 2011-08-03 12:04:11 via Twitter for Mac というところでハマっていた。 nginxを使ってreverse proxyする場合、Socket.IOのWebSocket接続は 表側に繋がずに裏側のportを指定して繋ぐ nginx_tcp_proxy_moduleを使って通す あきらめる のどれかだと思う。
長い記事なので、先に結論だけ書いておきます。WebSocketのバイナリメッセージ機能は、これまでのインターネットのあり方をひっくり返します。「そんなの知ってるよ」という方もいるとは思います。僕も理屈では分かってたつもりだけど、実際にアプリを作ってみて、具体的にそれを感じることができたので、ちょっと長いですがどういうことなのか説明してみます。 WebSocketとは # WebSocketは、HTML5関連の中でも特に注目を集めている技術の一つです。通常のHTTP通信であればクライアントからのリクエストなしにサーバーは応答しませんが、WebSocketを使うことでクライアントとサーバーの間で双方向の通信が可能となります。これを利用することで、今後様々なリアルタイム性の高いサービスを構築することが可能になるでしょう。 そんなWebSocketですが、これまで波乱の道を歩んできました。数年前か
最近nodejsで遊んでるのですが、nodejs単体だと面倒な事も多いのでライブラリを色々調べてみました。今回はそのまとめです。 よく見るもの 世間でよく使われてそうで、基本的なものを並べてみます。 node-dev スクリプトが更新されたら、自動的に再起動してくれるライブラリです。 node-inspector chromeとかをnodejsのデバッガとして利用可能にするライブラリです。 express 世間でよく見るフレームワークです。便利。Webやるなら必須な印象です。 socket.io websocketで遊ぶならこれです。。 connect expressも利用しているWebフレームワーク。サーバとか作る機能があるみたいです。 コールバックを何とかする系 nodeはシングルスレッドにもかかわらずマルチスレッドで動作しているかのように見せるため、逐次処理しようとしても想定と違う動
派手で見栄えがする大規模なプロダクトを作ろう!っていうことで、一人でフルスタックなネトゲを作っている。大きなプログラムを書いても破綻しないようにテスト書きまくってテストファーストを心がけたり、Travis-CIによる継続的インテグレーションで頑張ったり。 というわけで作っているのはMMORPGなんだけど、ここで実装するのはまあ平均的なMMORPGを想像してもらいたい。自分がやろうとしているのは、モダンなOSSとさくらの安いVPSで、独学の学生一人でもフルスタックなネトゲみたいなのが組める、ということの実証。 なんでそんなことをしているかって言うと、一応就活中で、見栄えがするアプリ提出できるとおいしいなーっていう下心。 *追記* ここでは https://github.com/mizchi/wanderer のことを言ってるんだけど大規模リファクタリング中なのでここで言ってることは半分ぐらい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く