2013-06-18 50 views
1

我正在測試打開websocket和回聲。 我試圖在基於Linux的PC上運行,並在官方websocket網站'http://www.websocket.org/echo.html' 中使用示例代碼進行測試。我只是將代碼複製並保存爲HTML文件。但是,當我訪問 '127.0.0.1/websocket.html'時,只有HTML代碼出現在屏幕上,無法使用JavaScript文件。我用我的筆記本電腦完全相同的代碼,它是基於窗口的,它工作正常。我使用網絡瀏覽器作爲「Chromium 10.0.648.133 Ubuntu 10.04」 您能幫我解決嗎?該代碼是在這裏下面..Linux - WebSocket測試錯誤

<!DOCTYPE html> 
    <meta charset="utf-8" /> 
    <title>WebSocket Test</title> 
    <script language="javascript" type="text/javascript"> 
    var wsUri = "ws://echo.websocket.org/"; 
    var output; 

    function init() { 
    output = document.getElementById("output"); 
testWebSocket(); 


} 

function testWebSocket() { 
websocket = new WebSocket(wsUri); 
websocket.onopen = function(evt) { onOpen(evt) }; 
websocket.onclose = function(evt) { onClose(evt) }; 
websocket.onmessage = function(evt) { onMessage(evt) }; 
websocket.onerror = function(evt) { onError(evt) }; 
} 

function onOpen(evt) { 
writeToScreen("CONNECTED"); 
doSend("WebSocket rocks"); 
} 

function onClose(evt) { 
writeToScreen("DISCONNECTED"); 
} 

function onMessage(evt) { 
writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>'); 
websocket.close(); 
} 

function onError(evt) { 
writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data); 
} 

function doSend(message) { 
writeToScreen("SENT: " + message); 
websocket.send(message); 
} 

function writeToScreen(message) { 
var pre = document.createElement("p"); 
pre.style.wordWrap = "break-word"; 
pre.innerHTML = message; 
output.appendChild(pre); 
} 

window.addEventListener("load", init, false); 

</script> 
<h2>WebSocket Test</h2> 
<div id="output"></div> 
</html> 
+0

你確定這個例子應該工作嗎?上次我嘗試運行它時,出現錯誤(因爲標準已更改)。我已經創建了自己的基於C的websocket庫,但仍沒有時間完成它。 –

+0

我很確定這段代碼有效。您只需複製此代碼並另存爲xxx.html並使用瀏覽器打開它。那麼你會看到結果。 –

+0

對不起,我以爲你已經試圖在你的電腦上運行websockets服務器。鏈接網站在firefox和chrome中效果都很好。 –

回答

0

操作系統具有絕對無關WebSocket的工作與否。這是一個瀏覽器問題。 Firefox,Chromium或任何其他支持的平臺上爲Web開發人員提供相同的功能。

對於WebSocket,Chromium 10只有partial support,這意味着它支持舊版本的標準/協議,或者您必須手動啓用它們。只需更新您的瀏覽器。 Chromium 10於2011年3月發佈,因此在目前的情況下已經非常老舊,幾乎所有瀏覽器版本都增加了新的HTML5功能。

0

難道不的WebSockets在Firefox支持 Are WebSockets not supported in Firefox

上面的鏈接可能對你有幫助...

+0

那麼..有沒有什麼方法可以在瀏覽器中使用websocket? –

+0

但是,你爲什麼要討論Firefox?我的瀏覽器是「Chromium 10.0.648.133 Ubuntu 10.04」這不是Firefox的,而是Chrome! –