I've set up a tcp server using node.js/socket.io, but I can't figure out how to connect to it via the client side. I've tried the client code from http://socket.io/#how-to-use but it sends a http request to a tcp server and after the connection is made, the webpage does not finish loading the the loading circle continues to move. I can tell from other sockets that the http request sends all the headers to the tcp server, but I don't think the connection is established as the webpage never fully loads and I can't pass anything else to the tcp server. How do you establish the client side of the webpage to a tcp server?
My client:
<script type="text/javascript" src="http://localhost:82/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost:81');
socket.on('connect', function () {
socket.send('hi');
});
socket.send('hi1');
socket.emit('hi2');
</script>
My Server:
var app = require('net')
, fs = require('fs')
var sockets_list = [];
var server = app.createServer(function (socket) {
sockets_list.push(socket);
socket.write("Echo server\r\n");
socket.on('data', function(data) {
console.log(data);
for (var i = 0; i < sockets_list.length; i++) {
sockets_list[i].write(data);
}
});
socket.on('end', function() {
var i = sockets_list.indexOf(socket);
sockets_list.splice(i, 1);
});
});
server.listen(81);
Needless to say, the 'hi' messages never reach the tcp server.