僅關注客戶端API(因爲每種服務器端語言都有自己的API),下面的代碼片斷會打開一個連接,爲連接,斷開連接和消息事件創建事件偵聽器,將消息發送回服務器,並使用WebSocket關閉連接。JavaScript - ReferenceError:未定義WebSocket
// Create a socket instance
var socket = new WebSocket('ws://localhost:3000');
// Open the socket
socket.onopen = function(event) {
// Send an initial message
socket.send('I am the client and I\'m listening!');
// Listen for messages
socket.onmessage = function(event) {
console.log('Client received a message',event);
};
// Listen for socket closes
socket.onclose = function(event) {
console.log('Client notified socket has closed',event);
};
// To close the socket....
socket.close()
};
但我上面執行收到錯誤片段:
ReferenceError: WebSocket is not defined
我已經通過各個環節像https://davidwalsh.name/websocket,關於如何實現的WebSockets不見了。但他們都沒有進口任何NPM包。
問題:那麼,如何實現WebSockets(客戶端AngularJS)?我在這裏錯過了什麼?
像@Brad提到你的問題是客戶片面。對於Serverside,我會推薦[Socket.io](https://socket.io/),它也有一些示例代碼。服務器和客戶端雙方 – Templum
謝謝@Templum。我曾在Socket.io 上簡單工作我想學習WebSockets。 – kshikhar
確保您在瀏覽器中運行代碼,而不是在NodeJS中運行,還使用支持它的現代[瀏覽器](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) –