Question

I have a node.js socket server using socket.io.

I'm building a firefox addon, where I load a pageworker. The html in the following page is as follows:

<html>
<head>
<script type="text/javascript">
//THIS DOESN'T WORK
var exampleSocket = new WebSocket("ws://someip:port");
exampleSocket.onopen = function (event) {
        console.log("socket opened!"); 
};
//THIS WORKS
var exampleSocketa = new WebSocket("ws://echo.websocket.org");
exampleSocketa.onopen = function (event) {
        console.log("socket to echo opened!");
};
</script>
</head>
<body>
</body>
</html>

I can open a websocket to echo.websocket.org, but not my own server. I get a "debug: destroying non-socket.io upgrade" message. I can switch it off with the option: { 'destroy upgrade': false }, but then I see no debug output from server, and no connection is made.

What am I doing wrong? How can I get a socket open to my socket.io server?

Was it helpful?

Solution

So after some more googling, it turns out that I need to require socket.io on the client side. Even though socket.io uses websockets, it prefers talking to itself.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top