説明

CFM テンプレートで WebSocket オブジェクトを作成できます。このタグは、WebSocket の JavaScript オブジェクトへの参照をクライアントサイドに作成します。

カテゴリ

インターネットプロトコルタグ

履歴

ColdFusion 11:新しい属性 secure が追加されました。

ColdFusion 10: このタグが追加されました。

シンタックス

<cfwebsocket
name="websocketName"
onMessage="JavaScript function name"
onOpen="JavaScript function name"
onClose="JavaScript function name"
onError="JavaScript function name"
useCfAuth=true|false
subscribeTo="channel_list"
secure="true|false">

属性

属性

必須/オプション

説明

name

必須

WebSocket オブジェクトの名前です。これは、JavaScript オブジェクトへの参照で、WebSocket の JavaScript 関数の呼び出しに使用します。

onMessage

必須

WebSocket がサーバーからのメッセージを受信すると呼び出される JavaScript 関数です。これは引数、aEvent をサポートします。 この引数はサーバーから送信される WebSocket イベントです。

onOpen

オプション

WebSocket が接続を確立したときに呼び出される JavaScript 関数です。

onClose

オプション

WebSocket が接続を閉じたときに呼び出される JavaScript 関数です。

onError

オプション

WebSocket 接続でのアクションの実行時にエラーが発生した場合に呼び出される JavaScript 関数です。

usecfAuth

オプション

true(デフォルト)に設定した場合、ユーザーは WebSocket 接続の認証を行う必要はありません(ただし、ユーザーが既にアプリケーションにログインしている場合)。これはデフォルト値です。
false の場合、ユーザーは WebSocket 接続のための資格情報を指定する必要があります。

subscribeTo

オプション

サブスクライブするチャネルのカンマ区切りリストです。Application.cfc で設定されたチャネルのすべてまたは任意のチャネルを指定できます。

secure オプション

true の場合、WebSocket 通信は SSL 経由で行われます。

次の例では、

  • ユーザーは、自動的に stocks チャネルにサブスクライブされます。
  • Application.cfc で、このチャネル名を指定しています。
  • この例では、デフォルトのチャネルリスナーを使用します。
  • Index.cfm で、(subscribeTo 属性を使用して)ユーザーが自動的にサブスクライブ可能なチャネルを指定し、さらにメッセージハンドラーを定義します。
    Application.cfc

    component
    {
    this.name="websocketsampleapp1";
    this.wschannels=[{name="stocks"}];
    }

    Index.cfm

    <script type="text/javascript">
    function mymessagehandler(aevent, atoken)
    {
    var message = ColdFusion.JSON.encode(atoken);
    var txt=document.getElementById("myDiv");
    txt.innerHTML +=message +"<br>";
    }
    </script>
    <cfwebsocket name="mycfwebsocketobject" onmessage="mymessagehandler" subscribeto="stocks" >
    <cfdiv id="myDiv"></cfdiv>

    このコードでは、mycfwebsocketobject という名前の JavaScript の WebSocket オブジェクトを作成します。サーバーからメッセージが送信されると、mymessagehandler 関数が呼び出されます。cfwebsocket タグで subscribeTo を指定したので、WebSocket オブジェクトにより、ユーザーは自動的に stocks チャネルにサブスクライブされます。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー