node.js

  1. ###node.js是什么?

    • Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。他能够让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。

  2. ###简易聊天室服务器代码(运行在node上)

var http = require('http');     //引用http模块

var fs = require('fs');         //引用文件系统模块

var soc=require('socket.io');      //引入sockey.io模块

var server=http.createServer(function(req,res){

    //设置发送头信息 
    var html=fs.readFileSync('index.html');

    res.setHeader('Content-type','text/html');

    res.end(html);
});            //创建web服务器实例

var io=soc(server);//新建io实例    挂载到web服务器中

//监听客服端连接
io.on('connection',function(socket){

    console.log('用户进入房间');

    //监听到消息接收 
    socket.on('message',function(mes){      //mes 是所有已经连接的用户

        console.log(mes);
        //向所有服务端广播消息
        io.emit('message',mes);
    })
});
server.listen('3000');

//注意要到项目文件夹引入socket.io模块   npm i socket.io
  1. 前段代码
            //连接聊天室io服务器
            var socket=io.connect('/');
            var text = document.getElementById('text');
            var but = document.getElementById('but');
            var yhm=document.getElementById('yhm'); 
            var i=0;
            var i=0;
            but.onclick=function(){
                var val=text.value;//接收消息
                var user=yhm.value;//接收用户名
                if((val=='')||(user=='')){
                    return;
                }
                socket.send(user+':'+val);//发送内容
                text.value='';
            }
            socket.on('message',function(jieshou){
                var p=document.createElement('div');
                //var tr=document.createElement('h3');
                p.innerText=jieshou;
                document.getElementById('div').appendChild(p);
            })