3

我似乎无法让任何示例应用程序正常工作。我正在尝试运行一个简单的 websocket 101 入门应用程序,它只是将某些内容记录到控制台。

我的 webroot 中有 cfws 目录,C:\inetpub\wwwroot我正在C:\inetpub\wwwroot\site\.

我在 cfadmin 中启用了 Web 套接字,带有“使用代理”选项,端口 8579。

我正在运行的代码是:

索引.cfm:

<html>
    <head>
         <title>Example One</title>
         <script language="javascript">
              function messageHandler(msg) {
                  console.log("messageHandler Run");
                 console.dir(msg);
              }
         </script>
    </head>
    <body>    
        <h1>Example One</h1>    
    </body>
</html>

<cfwebsocket name="myWS" onMessage="messageHandler" subscribeTo="news">

应用程序.cfc

component {
   this.name="cfwack2_1";
   this.wschannels = [{name:"news"}];
}

我运行代码并且没有错误,但在控制台中看不到预期的日志。

到目前为止,我尝试过的每个示例应用程序都没有做八分之五的事情。任何帮助表示赞赏。

4

1 回答 1

0

您的 Application.cfc 中可能有错字。根据此处的文档,它应该如下所示:

component {
   this.name="cfwack2_1";
   this.wschannels=[{name="news"}];
}

后面的=(等号)而不是:(冒号)name

该文档还显示 JavaScript 函数应该接受一个事件一个令牌值。这是文档中的示例。

<script type="text/javascript"> 
    function mymessagehandler(aevent, atoken) 
    { 
        var message = ColdFusion.JSON.encode(atoken); 
        var txt=document.getElementById("myDiv"); 
        txt.innerHTML +=message +""; 
    } 
</script> 

<cfwebsocket name="mycfwebsocketobject" onmessage="mymessagehandler" subscribeto="news"> 
<cfdiv id="myDiv"></cfdiv>
于 2016-05-09T15:19:36.540 回答