javascript - Socket.io socket.emit not passing data to server -


i trying hands on socket.io. have following code.

this index.html.

<!doctype html> <html>   <body>     <ul id="messages"></ul>     <form action="" onsubmit="return sayhello()">       <input id="m" autocomplete="off" /><button>send</button>     </form>     <script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>     <script>       var socket = io.connect('http://127.0.0.1:3001/');      function sayhello(){       var msg = document.getelementbyid('m');       console.log(msg); <- getting printed.        socket.emit('message', msg.value);       msg.value='';       return (false);     }        // $('form').submit(function(){       //   socket.emit('chat message', $('#m').val());       //   $('#m').val('');       //   return false;       // });       // socket.on('chat message', function(msg){       //   $('#messages').append($('<li>').text(msg));       // });     </script>   </body> </html> 

this server.js

var app = require('express')(); var http = require('http').server(app); var io = require('socket.io')(http);  app.get('/', function(req, res){   res.sendfile(__dirname + '/index.html'); });  io.on('connection', function(socket){     console.log("go!") <- getting printed   socket.on('chat message', function(msg){     console.log(msg); <- not getting printed.      io.emit('chat message', msg);   }); });  http.listen(3001, function(){   console.log('listening on *:3001'); }); 

i have cloned sample project socket.io website. trying modify code replacing jquery vanillajs.

you listening chat message emitting message client. event name provided .emit must match event name being listened on server in .on handler.

//server side code  var app = require('express')();  var http = require('http').server(app);  var io = require('socket.io')(http);    app.get('/', function(req, res) {    res.sendfile(__dirname + '/index.html');  });    io.on('connection', function(socket) {    console.log("go!") < -this getting printed    socket.on('chat message', function(msg) {      console.log(msg); < -this not getting printed.      io.emit('chat message', msg);    });  });    http.listen(3001, function() {    console.log('listening on *:3001');  });
<!doctype html>  <html>    <body>    <ul id="messages"></ul>    <form action="" onsubmit="return sayhello()">      <input id="m" autocomplete="off" />      <button>send</button>    </form>    <script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>    <script>      var socket = io.connect('http://127.0.0.1:3001/');        function sayhello() {        var msg = document.getelementbyid('m');        console.log(msg); < -this getting printed.        socket.emit('chat message', msg.value);        //-----------^^^^^^^^^^^^ event name must match `.on` listener on server!        msg.value = '';        return (false);      }    </script>  </body>    </html>


Comments

Popular posts from this blog

javascript - How to get current YouTube IDs via iMacros? -

c# - Maintaining a program folder in program files out of date? -

emulation - Android map show my location didn't work -