我正在嘗試與nodejs實現設備配對程序。該服務器被他人實現,並使用插座IO:替代套接字IO客戶端
var http = require('http'),
io = require('socket.io');
但是,我配對不支持的WebSocket(HTML5)的設備之一。是可以創建一個套接字io客戶端,而無需使用套接字io,有沒有其他的選擇?
在此先感謝。
我正在嘗試與nodejs實現設備配對程序。該服務器被他人實現,並使用插座IO:替代套接字IO客戶端
var http = require('http'),
io = require('socket.io');
但是,我配對不支持的WebSocket(HTML5)的設備之一。是可以創建一個套接字io客戶端,而無需使用套接字io,有沒有其他的選擇?
在此先感謝。
經過大量的嘗試和捕獲後,我發現我使用的瀏覽器無法支持Socket.IO.js中的緩衝行爲。第一個發射沒有緩衝,因此可以正確發射第一個配對請求。 所以我已經將Socket.prototype.setBuffer(true)更改爲Socket.prototype.setBuffer(false)。這可能不是一個乾淨的解決方案,但在我的情況下,它的工作原理。
socket.io支持各種傳輸,如flashsockets和XHR長輪詢。因此,您不必使用不同的客戶端 - 即使沒有Websocket支持,它也應該可以即裝即用。
說到替代方案......有一些客戶端庫例如對於Python而言,但我不認爲瀏覽器中有任何運行 - 就像我之前所說的那樣,它們不需要它們。
你可以配置你想使用
io.configure("production", function() {
io.enable("browser client minification");
io.enable("browser client etag");
io.enable("browser client gzip");
io.set("transports", ['websocket', 'jsonp-polling']);
io.set("log level", 1);
});
io.configure("development", function() {
io.set("transports", ['websocket', 'jsonp-polling']);
});
,你可以在這裏看到所有選項on the wiki
非常感謝你的回答哪些類型的回退的。當我檢查服務器日誌時,我看到我的瀏覽器只能使用jsonp輪詢傳輸。起初「發射」一切正常,但當我發出另一條消息時,服務器端調試日誌中沒有任何東西。你有什麼想法,問題是什麼? – miette