ども~。今日のネタは、WebSocketを利用した分散処理もどき?です。
WebSocketは一度接続してしまうと送受信の速度が速いので、クライアントA→WSサーバー1→クライアントB→WSサーバー2→クライアント
C→、、、という送受信を延々と、HTTPのようなストレスなく続けていくことができたりします。
その結果、今までできなかったことができるのですが、たとえば、次のようなCGIの代わりをクライアントに実行させることも可能だったりします。
レスポンスするクライアント :: ケース1
http://socketapi.com/ref/resclient2.pdf
クライアントA→WSサーバー1→クライアントBで処理→WSサーバー1→クライアントA
通常のWebサーバーは、クライアントからのリクエストへ、サーバー自身または、サーバーと連携するCGIなどが処理とレスポンスを行います。
それに対して、このケースでは、サーバーはクライアントAからのリクエストをクライアントBへ中継するのみで、処理とレスポンスはクライアントBが行い
ます。
メリットは、たぶん、サーバー負荷の分散とかクライアントだけで結構複雑なシステムも作れること。
デメリットは、ネットワーク距離分の速度のロス(ただし、分散の仕方では高速になる可能性もある?)。あと、クライアントBが起動していなければ動
作しない。
Sample
ClientA
http://socketapi.com/user/hoge/0/clientA.htm
ClientB
http://socketapi.com/user/hoge/0/clientB.htm
これを利用して、各種処理用のクライアントを立ち上げてサーバー側では何もせずに複雑なゲームを行うとかも可能だったりするかもしれません、、、。