初试websocket

      最近看了一些websocket方面的内容,感觉很有意思,想在本机上试一下,前前后后从网上下载了好几个demo的源码,结果都无法运行成功,socket一打开就立即关闭,不知何故。后来终于用socket.io整出了一个能正常运行,实现client与server通迅的小例子,先记下来。  

     1. 首先,先从http://nodejs.org上下载安装node.js,window XP下默认安装在C:\Program Files\nodejs。

     2. 然后,在C:\Program Files\nodejs下运行npm install socket.io 安装socket.io。

     3. 服务器端代码如下:

// 启动Socket.IO  
var io= require('socket.io').listen(8088);   

io.sockets.on('connection', function (socket) {
    console.log("connected!");
    socket.on('my event', function (msg) {
        console.log("DATA!!!");
    });
    socket.on('disconnect',function(){   
        console.log('client has disconnected');   
  });
}); 

    保存为一个js文件,如testSocketIO.js,放在C:\Program Files\nodejs目录或子目录下。

    4. 客户端是一个html文件,代码如下:

<!DOCTYPE html>
<html lang="en">

    <head>
        <title>Hello World!</title>
        <meta charset="utf-8">

        <script src="http://192.168.1.115:8088/socket.io/socket.io.js"></script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                var socket = io.connect('http://192.168.1.115:8088');  
                $("#button").click(function() {
                    socket.emit('my event' ,"Hello World!");
                })
            })
        </script>
    </head>

    <body>
        <button type="button" id='button'>Send Message</button>
    </body>

</html>

  5. 命令行下执行node testSocketIO.js运行server程序。

  6. 客户端html文件可以直接用浏览器打开本地文件,也可以通过web工程发布用浏览器打开。

待深入学习。

posted @ 2012-11-27 11:54  shtzsp  阅读(266)  评论(0编辑  收藏  举报