开发者

socket with node js example

开发者 https://www.devze.com 2023-02-20 21:58 出处:网络
I have a problem. Client side code <html> <body onload=\"fun()\"> <script src=\"C:\\cygwin\\usr\\local\\lib\\node\\.npm\\socket.io\\0.6.16\\package\\support\\socket.io-client\\socket

I have a problem.

Client side code

 <html>
    <body onload="fun()">
    <script src="C:\cygwin\usr\local\lib\node\.npm\socket.io\0.6.16\package\support\socket.io-client\socket.io.js"></script> 
    <script> 

    function fun()
    {
     alert("hello")   
     var socket = new io.Socket('localhost',{'port':8090});

    socket.on('connect', function(){ 
      socket.send('hi!'); 
    }) 

     socket.on('connect', function(){ console.log('connected to server');socket.send('hi there, this is a test message'); })


    socket.on('message', function(data){ 
      alert(data);
    })
    socket.on('disconnect', function(){}) 
    }
    </script> 
    </body>
    </html>

server side code:

var http = require('http'),  
    io = require('socket.io'), // for npm, otherwise use require('./path/to/socket.io') 

server = http.createServer(function(req, res){ 
 // your normal server code 
 res.writeHead(200, {'Content-Type': 'text/html'}); 
 res.end('<h1>Hello world</h1>'); 
});
server.listen(8090);

// socket.io 
var socket = io.listen(server); 
socket.on('connection', function(client){ 
  // new client is here! 
  client.on('message', function(){ console.log('message arrive'); }) 

  client.on('disconnect', function(){ console.log('connection closed');})

开发者_开发百科});

found this example from socket.io. When I run the server it gives me Socket io is ready. Accepting connection when I run the browser it is not showing anything and also on the firefox firebug console please help me to solve this problem.


You never call socket.connect() on the client side so the socket never tryes to connect to the server. Check the following code :

Client side ->

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script src="socket.io.js"></script> 
<script> 

function fun()
{
    var socket = new io.Socket('localhost',{'port':8090});

    socket.connect();

    socket.on('connect', function(){
        console.log('connected');
        socket.send('hi!'); 
    });


    socket.on('message', function(data){ 
        console.log('message recived: ' + data);
    });

    socket.on('disconnect', function(){
        console.log('disconected');
    });
}

$(document).ready(function() {
    fun();
});
</script> 
</head>
<body>
</body>
</html>

Server side ->

var http = require('http'),  
    io = require('socket.io'), // for npm, otherwise use require('./path/to/socket.io') 

server = http.createServer(function(req, res){ 
    // your normal server code 
    res.writeHead(200, {'Content-Type': 'text/html'}); 
    res.end('<h1>Hello world</h1>'); 
});
server.listen(8090);

// socket.io 
var socket = io.listen(server); 
socket.on('connection', function(client){ 
    // new client is here! 
    client.on('message', function(){ 
        console.log('message arrive');
        client.send('some message');
    });

    client.on('disconnect', function(){
        console.log('connection closed');
    });

});
0

精彩评论

暂无评论...
验证码 换一张
取 消