CF10 の新しい websockets 機能をクロスドメインとクロスサーバーで使用できるかどうかは誰にもわかりませんか? そして、これを行うためのサンプルコードを知っているか、持っている人はいますか? アプリで簡単なライブ ヘルプ チャットを使用していますが、それを他のサイトに適用し、サポート エージェントがユーザーとクロスドメインで対話する中央管理チャット エリアを 1 つ用意したいと考えています。
1 に答える
0
私の知る限り、そうではありません。ただし、 を使用し<cfhttp>
て、メッセージを公開する他のサイトのファイルを呼び出すことができます。ここに私はこれを達成しました。
socketPublisher.cfmというファイルを作成し、ファイルへのログイン アクセスを必要としないディレクトリに保存します。
socketPublisher.cfm
<cfparam name="Request.Attributes.msgType" default="newJob">
<cfparam name="Request.Attributes.channel" default="notify">
<cfparam name="Request.Attributes.Type" default="">
<cfoutput>
<cfswitch expression="#Request.Attributes.Type#">
<cfcase value="yourType">
<cfscript>
WSPublish('chat',{message: '', msgType: '#Request.Attributes.msgType#'});
</cfscript>
</cfcase>
<cfdefaultcase>
<cfscript>
WSPublish('#Request.Attributes.channel#',{message: '', msgType: '#Request.Attributes.msgType#'});
</cfscript>
</cfdefaultcase>
</cfswitch>
</cfoutput>
次に、他のサイトのアクション ページで、そのファイルに対して http 要求を行う必要があります。
actionPage.cfm
<cfhttp method="Post" url="#socketURL#/_scripts/socketPublisher.cfm">
<cfhttpparam type="URL" name="msgType" value="pendingFiles">
</cfhttp>
それはそれを行う必要があります。
また、CF10WSPublish
には、アクション ページからリダイレクトしようとすると CGI スコープが変更され、エラーが発生するという既知の問題があります。より良い解決策が見つかるまで、これをその問題の回避策として使用しています。
于 2013-12-12T22:06:45.260 に答える