革新的コミュニケーションツール
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メッセンジャーの入力中表示 これらのリアルタイム通信はサーバとの接続を常時行っておく必要がある
Websockets 101 written on Monday, September 24, 2012 Out of curiosity I taught the Fireteam presence server websockets as a protocol in addition to the proprietary protocol it speaks out of the box. I don't really have a usecase for websocket per-se with the server, but I thought it might make it more useful for customers that want to use the event based parts of the API with HTML5 games. This pos
Tuppari公開記念Hackathonで作ろうとした奴を作ってみました。 ごめんなさい、micro instanceなのでアクセス過多で動かない時があるかもしれません、ちょっと調整中です。 リアルタイムリソース監視アプリ yosuke-furukawa/dstatwatcher · GitHub WebSocketを使ってリアルタイムにリソース監視したりログ監視したりするのは正直よくあるやつなのですが、fluentd使ってみたかったというのと、highchartを本業の方で使おうか迷った挙句、使えなかった経緯があったので、使ってみようと思って作成してみました。 大体、↓の感じの流れでやってます。 Fluentdとdstatのつなぎの部分にはfluent-plugin-dstatを使用しています。 shun0102/fluent-plugin-dstat · GitHub これを使うと、d
彼女とMacBookを並べてコーディング。 ようやくRailsの開発を一人で出来るようになった彼女が、俺に突然質問を投げかけた。 「ねぇ、WebサービスのPushってどうやって実装するの?」 「一般的には3つの方法がある。」と俺は答えた。 「クールな順にWebSocket、次にコメット、最後にポーリングだよ」 彼女は目を輝かせながら「それでそれで?!」と説明を求めてくる。 「ポーリングは、一定の時間ごと、たとえば3秒ごとにAjaxでサーバにリクエストを送って新着の情報が無いか問い合わせて、もし新着があれば処理を、なければスルーして次の問い合わせに備えるPush通知の実装だ。手軽に実装できる反面、新着がない多くの時間常にリクエストを送り続けることになるので無駄が多い。大規模なサービスで実装すれば、それだけでDDoSっぽくなっちゃう。また、リアルタイムも厳密には実現できなくて、MAXでポーリン
1.3.x planned features and improvements Google SPDY draft 2, draft 3 draft 2 plus SSL, end of May 2012 IPv6 code cleanup Upstream code cleanup New status module Chunked encoding on input Support for If-Modified-Since to upstream servers Websockets Support for ETAG headers [TBD] ここでもSPDY、そしてWebSockets。 Permalink | Tag: nginx , SPDY , オープンソース About Publickey Topics 「Publickey Topics」は、エンタープライズIT、クラウ
Redmine, git, Jenkins などプロジェクト管理ツールの状態を横断的かつリアルタイムに表示するWebアプリ『Dashbozu』を作りました。 これを使えば、一つの画面でプロジェクトの”今”の状態を把握できます。 WebSocketを用いているので、ただ開いているだけで、次々と情報を得ることができます。 iPadで開きっぱなしにして、机の上に置いておくような使い方を想定しています。 なぜこれを作ったか 一般的なソフトウェア開発現場では Redmineでチケットを作成する gitでコミットを繰り返し、中央レポジトリにpushする JenkinsによるCIが実行される 結果を確認し、Redmineのチケットを閉じる という流れで作業が進んでいきます。 これらの作業の中で、開発者は「適切な」タイミングでチェックとフィードバックをすることを求められます。 例えば、チェックのタイミング
今日のブログのお題は、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
同社では、以前よりキャンペーンサイトや商品紹介サイトの開発を多く手掛けているが、近年ではそのサイト制作自体が、以前に比べて「動きのある、ゲーム的なWebアプリを作るような感じにシフトしている」という。またクライアントから「Flashを使わないで制作してほしい」という要望も増えつつあり、状況は大きく変わってきているとした。 比留間氏は、同社が手がけた事例としてグリコポッキーのゲームサイトである「Pocky GP」、アーバンリサーチのクリスマスキャンペーン、HTML5で作成した「ソイカラ時計」、日産リーフのキャンペーンサイトなどを紹介した。いずれも、インタラクティブな要素が前面に出された作りとなっている。 「広告」と「Webアプリ」の親和性が高いと考えられる理由について、比留間氏は「インストール不要」「クロスブラウザ対応」「アップデートが容易」「Twitterなどの口コミをベースに共有されやす
HTML5ゲームの投稿プラットフォーム「jsdo.it HTML5-Games」がスタート! HTMLファイ部ほんだです。 カヤックの新規開発事業部「ブッコミジャパン」が、 HTML5ゲームをあそべる、つくれるプラットフォーム「jsdo.it HTML5-Games」をリリースしました! jsdo.it(弊社運営のHTML5コード共有サイト)からHTML5ゲームを簡単に投稿でき、 他のクリエイターによって投稿されたゲームを無料で遊べます! また、スマートフォンをコントローラーにしたゲームを簡単につくれるようになる JavaScriptライブラリ「jsdoitController.js」もリリースしました。 今回は「jsdoitController.js」で使えるようになる 「jsdo.it WebSocket Controller」(以下:jsdo.it コントローラー)の 仕組みについて
Come creare il miglior gioco da casinò Quando si progetta un gioco da casinò, la prima cosa che devi considerare è che tipo di gioco sarà. Ci sono molti diversi tipi di giochi da casinò, dalle slot e video poker ai giochi da tavolo e giochi di carte. Dovrai decidere quale tipo di gioco si adatta meglio alle tue esigenze. Ogni tipo di gioco ha il proprio set di regole e regolamenti, quindi dovrai a
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を使って通す あきらめる のどれかだと思う。
Mozillaは3月27日(現地時間)、HTML5の性能を紹介する目的で開発したMMORPG(多人数同時参加型オンラインロールプレイングゲーム)「BrowserQuest」を公開したと発表した。Firefoxや米AppleのSafari(iOS版を含む)、米GoogleのChromeなど、HTML5をサポートするWebブラウザで楽しめる。 BrowserQuestは、Mozillaがフランスのゲーム開発メーカーLittle Workshopと共同で開発したMMORG。好きな名前を付けたキャラクタで村の中を動き回り、村人と会話したり敵キャラを倒してアイテムを獲得したりして先に進む伝統的なロールプレイングゲームになっている。本稿執筆段階でMac版Safariで参加したところ、74人のプレーヤーが同時に参加していた。プレーヤー同士はテキストチャットで交流することもできる。 このゲームは、HTML
「iPadを本格的に業務で利用するプロジェクト」がスタートしたのが今年の3月です。 今から思えば、あまりにも無知で、とても恥ずかしいことばかりですが、 今後、ポストPCとしてiPad等のタブレット端末の本格的な業務利用を検討される企業もあると思いますので、 少しでも参考にしていただくか、「バカなやつらだ」と笑っていただくのもいいのかなと 我々の体験を少しレポートさせていただきます。 SQLServerとASPの組み合わせで社内Webシステムを構築しています。 はじめは、VPNで接続すれば、IE用の画面だけSafari対応する程度で十分だろう、 また、OfficeはリモートデスクトップでiPadからWindowsに接続すればいいかなと かなり安易に考えていました。 そこで、プロジェクトでは機種の選定、回線の選定やルーターなどネットワークの見直し からスタートしたような状況でした。 テストとし
Node.js で WebSocket-Node を使って実装しました。 転送するめぼしい画像が見当たらなかったので、デスクトップをスクリーンキャプチャして転送してみました。 ブラウザはChrome 17以上か、Firefox 11以上が必要です。サーバ側は scrrencapture コマンドを利用している関係で Mac OS X限定です。 デモ 上半分が転送元のデスクトップ、下半分が転送された画像をブラウザで表示したものです。ニコ動のコメントの飛び具合を見るとわかると思いますが、800*600の解像度の画像を、横640に縮小して転送して、1FPSくらいです。(※ これはWebSocket の限界ではありません。速度は向上させる余地はかなりありますが、今回の本質ではないので気にしないことにします) ソースは github に置いてあります。 hakobera/screencast · G
治外法権的テザリング方法? ついに、脱獄不要かつAppleが介入不能と思われるテザリング手法が登場しました。 使用するアプリケーションのインストーラ名から「TetherWeb」とでも呼びましょうか。 以前、App Storeで販売されたテザリング用のアプリケーション、iTetherを開発したチームが開発した新ソリューションだと思われます。 僕はテザリングのことをブログに書かないポリシーなのですが、Appleが認める手段をうまく使ったテザリング手法なので、禁を破って紹介します。 概略としては次の図のようになります。 接続までの手順は、次の通り。 Mac / PCにTetherというアプリケーションをインストール Tetherを起動 Mac / PCでWi-FiのAd-Hocネットワークが作成される iPhoneから、そのAd-Hocネットワークに接続 iPhoneのブラウザで「http://
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く