socket.io - Calling socket.emit('init', 'data') from client side javascript function does not execute. -
this question has answer here:
on client side:
<a href='javascript:callinit();'> init </a>
client side html includes following script above:
<script src="/socket.io/socket.io.js"></script> <script>var socket = io.connect('http://localhost:3000'); function callinit(){ alert('inside callinit'); socket.emit('init', 'data'); } </script>
on server-side:
io.sockets.on('connection', function(socket) { console.log('socket connection established'); socket.on('init', function(data){ console.log('init invoked'); init(); }); });
in above code: alert('inside callinit')
executes. console.log('socket connection established');
executes. console.log('init invoked
);` not execute.
that because io.connection(...)
async , socket not connected @ time callinit
function called.
you might want add on('connect', ....)
browser side socket connection , on('error', ...)
check connections , errors
Comments
Post a Comment