2014-06-05 1 views
0

열려있는 websocket 서버를 수신 할 크롬 확장에 websocket 클라이언트를 만들려고합니다. 하나가 열리면 연결되어 작업을 수행합니다. 연결 끊기 직후 클라이언트가 듣기 시작할 수 있도록 설정하려면 어떻게해야합니까?websocket server listener를 설정하는 방법은 무엇입니까?

이 코드는 연결해야하지만 어떻게 청취자가 될 수 있는지 잘 모릅니다.

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'); 
}; 
}; 
+0

브라우저에있는 것은 클라이언트 일 뿐이며 서버로 작동 할 수 없습니다. – vtortola

+0

나는 이것이 훨씬 나중에는 알지만, 블로그 포스트는 다음 달 8 월 15 일에 돌아왔다. http://blog.revathskumar.com/2015/08/websockets-simple-client-and-server.html (그것은 또한 socket.io와 같은 Node.js를 필요로합니다. – JakeJ

+0

기본적으로 브라우저의 웹 소켓은 포트를 수신 할 수 있지만 동일한 포트에 서버를 올려 놓는 동일한 시스템에서 Node.js에서 Javascript를 실행할 수 있습니다. 다른 곳에서 오는 연결이며, 브라우저와 외부 클라이언트 사이의 중개자 역할을합니다. – JakeJ

답변

1

불행히도, 쉽게 할 수 없습니다.

1) 표준 API, WebSocket은 클라이언트 일 뿐이며 그에 관해 할 수있는 것은 없습니다. 브라우저는 서버가 아닙니다.

2) 확장 프로그램은 브라우저 기능을 보완하기 때문에, chrome 개의 API가 도움이 될 수 있습니다. 죄송 합니다만 확장자가 인 경우 대답은 여전히 ​​아니오입니다.

3) Chrome 의 경우 입니다. chrome.sockets.tcpServer API가 있지만 번들로 제공되는 서버 구현은 없습니다. 직접 웹 + ws 서버를 구현하거나 this one과 같은 기존 솔루션 중 하나를 사용해야합니다.


그렇다면 은 실제로 WS 서버를 원하십니까? 당신은 "개방형 서버를 청취하라"고 말했 - 서버가 어떻게 자신의 존재를 알리겠습니까? 그들이 열리는 지 정기적으로 조사하는 것이 더 논리적이지 않습니까?

+0

크롬 배경에서 어떻게 할 것입니까? js? –

+0

내 대답을 읽었습니까? 그리고 내가 가진 첫 번째 질문에 대답 해주십시오. – Xan

+0

내 질문을 읽어 보셨습니까? 확장 프로그램은 클라이언트로 간주되며 열려있는 서버를 확인해야합니다. 당신은 당신의 대답에 제 질문을 언급했고, 저는 어떻게 그렇게 할 것인지 물었습니다. 나는 여전히 프로그래밍에 익숙하지 않고 확장 기능을 루프에 넣지 않고 웹 서버를 폴링하는 방법을 알고 싶습니다. –

0

브라우저에 WebSocket을 사용하여 연결을 수신하는 방법이없는 것 같습니다. socket.io에 대한 문서를 포함하여 내가 읽었던 모든 것이 node.js를 청취하거나 서버 소켓을 제공하는 유일한 JavaScript 방법이라는 것을 가리킨다.

관련 문제