前の記事 ≪:AJAXでリモートホストのデスクトップを表示する
次の記事 ≫:LightBox風エフェクトライブラリのiBox

JavaScriptとFlash連携でソケット通信を使う

2006年06月26日-はてなブックマーク

スポンサード リンク
[PR] 英単語を忘却曲線アプリを使って超効率よく記憶する方法
“Real” Javascript Sockets! - ThinkPHP /dev/blog

I could not find a single way to have real sockets in Javascript. Google told me that there probably is no solution except embeding a java applet or an active-x component! So I thought why not using a little .swf file as a bridge from javascript to the socket functions of flash!

JavaScriptのみではソケット通信は出来ませんが、Flashの機能をJavaScriptから使ってソケット通信を行おうという試み。
Ajaxによるやり取りでは、どうしてもクライアントサイドからのリクエストによるサーバサイドの応答を待つという方式なので、どんなに更新頻度を上げてもタイムラグが生じますし、サーバへの負荷も馬鹿になりませんね。

この仕組みであれば、接続確立後、サーバサイドからのリクエストもクライアントサイドで受けられるので、JavaScriptベースのマルチユーザのオンラインゲーム/チャットなども作れそうです。

具体的には、次のように定義されたAPIを使ってJavaScriptベースで通信が出来る模様です。

function SocketConnect(host,port){}
function SocketSend(data){}
function SocketClose(){}
function SocketOnInit(){}
function SocketOnConnect(success){}
function SocketOnData(data){}
function SocketOnClose(){}

Flashでのマルチユーザチャットアプリとしては、db-dbなんかがありますね。
こういったものも、この仕組みを使って、JavaScriptで作れてしまいますね。

ブラウザからIRCサーバに接続するデモ

関連の記事検索:JavaScript, socket
スポンサード リンク

By.KJ : 2006年06月26日 15:05 livedoor Readerで購読 Twitterに投稿

間違いの指摘をしていただける方はメール、あるいはTwitter/FBでお願いします(クリック)