我想在一個Chrome擴展中製作一個websocket客戶端,它將偵聽打開的websocket服務器。一旦打開,它將連接並執行其任務。我如何設置它,以便客戶端在斷開連接後立即開始收聽?如何設置websocket服務器偵聽器?
這是我必須連接的代碼,但我不知道如何使它成爲一個監聽器。
function connect(host) {
var ws = new WebSocket(host);
ws.onopen = function() {
alert('connected');
connection = true;
};
ws.onmessage = function (evt, tab) {
if(evt.data == "connect"){
rpwd = 'hello ws';
ports[curTabID].postMessage({text: rpwd});
}
};
ws.onclose = function() {
alert('socket closed');
connection = false;
webConnect('ws://localhost:8080');
};
};
你在瀏覽器中只有一個客戶端,它不能充當服務器。 – vtortola
我知道這要晚得多,但博客文章是在15年8月之後的下個月:http://blog.revathskumar.com/2015/08/websockets-simple-client-and-server.html(它也需要Node.js,比如socket.io) – JakeJ
基本上,瀏覽器的websockets只能監聽一個端口,但是你可以在Node.js中的同一臺機器上運行Javascript,它將服務器放在同一個端口上,來自其他地方的連接,並充當瀏覽器和外部客戶之間的中介。 – JakeJ