當CF8給我們帶來了ajax支持時,<cfajaxproxy>
和各種<cfform>
標籤使得CF的真正簡單,但調用cfc?method=
也可能與任何JS庫,並可以擺脫包括來自Adobe的這些可怕的JavaScript。可以在沒有生成JavaScript混亂的情況下使用cfwebsocket嗎?
現在CF10給我們帶來了websocket的支持,但是<cfwebsocket>
是唯一使用websocket加CF的方法嗎?
當CF8給我們帶來了ajax支持時,<cfajaxproxy>
和各種<cfform>
標籤使得CF的真正簡單,但調用cfc?method=
也可能與任何JS庫,並可以擺脫包括來自Adobe的這些可怕的JavaScript。可以在沒有生成JavaScript混亂的情況下使用cfwebsocket嗎?
現在CF10給我們帶來了websocket的支持,但是<cfwebsocket>
是唯一使用websocket加CF的方法嗎?
亨利,還有很多其他的方式來使用websockets,因爲CF包括一個相當強大的網關服務。自CF 7以來一直存在。
在我的CF 9服務器上,我使用了Scott在鏈接中指出的Nate Mische的產品。我添加了網關類型,然後添加了一個實例。我從我的內部跟蹤系統向我的實例發送事件,我跟蹤了我的許多顧問的日誌時間。然後我構建了一個儀表板,其中包含實時圖表加上小時,備註和原始SVN評論更新。它讓我對工作日期間公司發生的事情有一個生動的描述。點擊圖表的餅圖部分可以使用套接字調出附加的圖表數據。例如,單擊客戶端的餅圖段可以爲該客戶端每日點燃一小時。 Ajax調用的速度要快得多(通常)。我使用名爲「Rgraph」的客戶端圖表庫作爲視覺效果。
看起來像這樣。
下在客戶端代碼中的油煙機是你所期望的。請注意,這些示例不是完整的故事 - 您的實現將是唯一的。
<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是變量),然後有該解析出每種消息類型(消息arive爲JSON - 但是它們可以是任何種類的字符串)的的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,我懷疑插座的服務器可能是不同的系統上脆弱的 - 說的是有一個非常沉重的負擔像股票一樣交易應用。但它對於它的任務如何很有效。我希望這有幫助!
馬克
快速谷歌搜索變成了這樣:https://github.com/nmische/cf-websocket-gateway/wiki這似乎是使用在早期版本的ColdFusion的WebSockets以及一種方式。 –