2014-01-09 20 views
6

CF8が私たちにアヤックスサポートを提供したとき、<cfajaxproxy>と様々な<cfform>タグは、CFで簡単にajaxを作りましたが、cfc?method=を呼び出すことも可能ですが、Adobeからの恐ろしいJavaScriptを含めて取り除くことができます。cfwebsocketを生成されたJavaScript混乱なく使用できますか?

CF10でwebsocketをサポートしましたが、<cfwebsocket>はCFでwebsocketを使用する唯一の方法ですか?

+1

クイックGoogle検索では、これを上がっ:https://github.com/nmische/cf-websocket-gateway/wikiにも以前のバージョンのColdFusionでのWebSocketを使用するための方法であると思われます。 –

答えて

1

Henry、CFにはかなり強力なゲートウェイサービスが含まれているため、Webソケットを使用する他の多くの方法があります。 CF 7以来存在しています。

私のCF 9サーバーでは、Scottが彼のリンクに示したNate Mischeの製品を使用しています。ゲートウェイタイプを追加して、インスタンスを追加しました。内部の追跡システムからインスタンスにイベントを送信し、多くのコンサルタントのログ記録時間を追跡しました。それから、リアルタイムのチャート作成と時間、ノート、生のSVNコメントの更新を含むダッシュボードを作成しました。それは、私の会社で働いている日に何が起こっているのかを私に生き生きと示してくれます。チャートのパイセクションをクリックすると、ソケットを使用して追加のチャートデータが表示されます。たとえば、クライアントのパイセグメントをクリックすると、そのクライアントの毎日の焼き込み時間が表示されます。 Ajaxコールよりもはるかに高速です(一般的に)。私はビジュアルのために "Rgraph"と呼ばれるクライアント側チャートライブラリを使用します。

このようになります。クライアント側コードのボンネットの下に

dashboard

は、あなたが期待するものです。これらのサンプルは完全なストーリーではないことに注意してください。

<script> 

var reconnectTimer = 0; 
var userID = '1'; 
var socketDomain = 'ws://*my system url*.com:1225'; 
// Firefox is a little different. 
if (window.MozWebSocket) { 
    window.WebSocket = window.MozWebSocket; 
} 

... 
</script> 

私は接続をオープン(connはVARである)、その後、各メッセージタイプを(メッセージはJSONとしてarive - しかし、彼らは、文字列の任意の並べ替えすることができる)解析しのonMessage()関数があります。

conn.onmessage = function (event) { 

     var message = event.data; 
      console.log(event.data); 
     var t = JSON.parse(event.data); 

     if(t.TYPE != 'Blah') 
        do A B or C 
.... 

それはとてもきれいcfwebsocketとしてパッケージ化いない、と私はソケットサーバが別のシステム上で壊れやすいかもしれない疑いがある - 株式取引アプリケーションのような非常に重い負荷を持つものを言います。しかし、それはどのように任命されているかにはうまくいきます。私はこれが助けて欲しい!

-mark

+0

これはこのQが探しているものではないことを知っておいてください。感謝の印! – Henry

+0

"CfwebsocketはCFでウェブソケットを使用する唯一の方法です" ...いいえ、そうではありません。上記の答えを見てください。 :) –

+0

はCF10のwebsocketを使用する唯一の方法ですか?私はあなたのソリューションにかなり似ていますが、CF10 Standard Editionの100接続制限をバイパスできます。 – Henry

関連する問題