node.js - Websocket client not receiving response from node server using express -


i created simple nodejs server express listen websocket connection, receive "ping" string , return "pong" client.

everything seems work fine except client not receiving "pong" server, though server supposedly sent it. not sure if problem on client or server side. i'm running on localhost, shouldn't problem right.

server

var express = require('express'); var websocketserver = require('ws').server; var app = express();  var wsserver = app.listen(3000, function() {   var host = wsserver.address().address;   var port = wsserver.address().port;   console.log('app listening @ ws://%s:%s', host, port); });  var wss = new websocketserver({server: wsserver}); wss.on('connection', function connection(ws) {   ws.on('message', function incoming(message) {     console.log('got: %s', message);     ws.send('pong');     console.log('sent pong');   });    ws.on('close', function() {      console.log('closed connection');   }); });  module.exports = server; 

client

<!doctype html> <html>  <head>     <script type="text/javascript">         if ("websocket" in window) {             console.log("websocket supported browser!");         }         else {             console.log("websocket not supported browser!");         };     </script>      <script type="text/javascript">         function websockettest() {             var ws = new websocket("ws://localhost:3000");             ws.onopen = function() {                 var msg = {                     msg: 'ping'                 };                 ws.send('ping');                 console.log('message sent server');             };              ws.onmessage = function(evt) {                 var received_msg = evt.data;                 console.log('message received server: ' + received_msg);             };              ws.onclose = function() {                 console.log('connection closed');             };         };     </script> </head>  <body>     <div id="sse">         <a href="javascript:websockettest()">run websocket</a>     </div> </body>  </html> 


Comments