2011年10月28日金曜日

Nylon入門

Nylonによるイベント送受信の流れ

前回はNylonの書き方について簡単に紹介しました.今回は,Webブラウザ間のやりとりについて,実際のコードを踏まえて説明したいと思います.下図のように,nylonサーバに複数のクライアント(Webブラウザ)が接続している状態です.ここで,obj_aは任意のオブジェクトです.COeはnylonサーバと通信するnylonモジュールで,正式なファイル名はnylon.coe.jsです.

Nylonのモジュールは,キーワードに従ってイベントを待つことができます.COeは,「broadcast」と「server」と言うキーワードで待ち受けをして,イベントの内容をnylonサーバに送ります.nylonサーバではキーワードを判別し,「broadcast」だった場合には,送られてきたイベントの内容を他のWebブラウザに送ります.「server」だった場合にはnylonサーバで何らかの処理を行います.続いて,各WebブラウザのCOeは送られてきたイベントを受け取り,ブラウザ内の他のオブジェクトにemitします.

例:リアルタイムチャット

リアルタイムチャットを例にとって説明します.リアルタイムチャットのオブジェクトがobj_aだと思ってください.obj_aはキーワード「append」に反応して書き込み欄に新たな内容を追加し,キーワード「clear」に反応して書き込み欄を消去するものとします.あるブラウザで発言があった場合,obj_aから「broadcast」と「append」という2つのキーワードを持ったイベントを送信します.擬似コードは以下のようになります.

イベントの登録

イベントの送信

実際のコード

リアルタイムチャットの実際のコードは以下のようになります.

6行目から8行目は,必要となるライブラリの読み込みです.サーバとの通信にはSocket.ioを使用しています.nylonサーバのプログラムは後日説明予定です.

22行目から32行目はイベントの登録です.先に説明したとおり,「append」と「clear」と言う2つのキーワードについて,その動作を登録しています

35行目から49行目はイベントの送信処理です.送信ボタンが押されたら名前と発言欄の内容を入れた,キーワード「append|broadcast」のイベントをemit(送信)しつつ,書き込み欄に追加します.

52行目から54行目は,接続した旨を表示するための確認欄の記述です.このプログラムではページ上部の「未接続」が「接続」に変化します.この辺は,格好良いインジケータを配置したいところですね.

その他

書き忘れていましたが,このソースプログラム及びNylonとNylonモジュールは無保証です.動作確認はChrome15.0.874.106,Safari5.1,Firefox7.0.1,iOS5のSafariで行っています

このエントリーをはてなブックマークに追加

1 件のコメント:

đa さんのコメント...


Sau khi xuất ra linh hồn Vấn Đỉnh, Vương Lâm không do dự mà rút về phía sau. Hắn biết nó không thể chiến thắng đối phương. Điểm này trong lòng Vương Lâm biết rất rõ.

-Sao? Quả nhiên có chút thủ đoạn. Khó trách năm đó ngươi mới Kết Đan đã đoạt được ký ức truyền thừa. Nhưng thứ này nếu là trước khi ta có được máu Cổ Thần thì còn dây dưa được một chút, nhưng bây giờ thứ này không thể ngăn cản được một nửa bước tiến của ta.

Mái tóc màu đỏ của Thác Sâm không gió mà bay. Một luồng khí tức ngạo nghễ lập tức từ trên người hắn lan ra. Thác Sâm cười lên ha hả. Cơ thể hắn vừa động đã bước thẳng về phía trước. Cùng lúc đó, hữu quyền cũng đánh ra.
dong tam mu lậu cho thuê nhà trọ cho thuê nhà trọ nhạc sàn cực mạnh tư vấn pháp luật qua điện thoại công ty luật ở hà nội số điện thoại tư vấn pháp luật dịch vụ thành lập doanh nghiệp
Một quyền này nhìn thì rất bình thường, nhưng sắc mặt của hai người Chu Tước và Vân Tước lại trở nên khó coi. Vừa rồi hai người cũng bị một quyền giống thế này đánh trọng thương, cơ thể văng thẳng ra ngoài.

Hai mắt linh hồn Vấn Đỉnh lóe lên u quang. Tay phải của nó chộp một cái vào không trung, một thanh trường thương tử sắc lập tức xuất hiện trên tay. Trường thương rung lên đâm thẳng về phía trước, đồng thời cơ thể nó cũng lui về phía sau rồi kẹp chặt lấy Vương Lâm, đột nhiên lóe lên mà biến mất ngay tại chỗ.

コメントを投稿