2021-05-24

cookie

定义:存储在客户端(浏览器)上的数据

cookie的使用

    1.下载:npm install cookie-parser
    2.引入模块
    	var cookie = require("cookie-parser");
    3.使用cookie
    	app.use(cookie())
    4.设置cookie值
    	res.cookie('cookie名','cookie值',{maxAge:过期的时间.单位是毫秒 1秒-1000毫秒,httpOnly:true})
    5.获取cookie
    	req.cookies.cookie名

    session的使用:
    
    1.下载:npm install session
    2.引入模块
    	var session = require('express-session');
    3.使用session
    	app.use(session({
            secret:'this is a strint key',//加密的字符串可以随便写
            resave:false, //如果数据乜有变化,不会影响session值
            saveuninitialized:true 开启session去使用
    	}))
    4.设置session
    	req.sessionsession名 = '值'
    	
    5.获取session
    	req.session.session名
    	如果需要有判断的时候
    	if(req.session.username){
    		.....
    	}else{
    		.....
    	}
    注意:session如果值被设置了,关闭服务器后,在开启,session的值将自动清除



socket

- 定义:就是nodejs平台下的一个javascript软件包
- 需要使用:
  - 安装npm install socket.io
- 作用:能实现客户端和服务端双向时时通讯

    在使用socket前,需要安装npm安装包有: express ejs socket.io
    
    js部分代码
    //服务端代码
    var express = require('express');
    var app = express();
    //搭建一个服务器
    var server = require('http').Server(app);
    //创建一个socket,io服务
    var io = require('socket.io')(server);
    //设置静态资源
    app.use(express.static('node_modules'));
    //设置引擎模板
    app.set('view engine','ejs');
    //设置ejs视图路径
    app.set('views','./views');
    //设置路由
    app.get('/',function(req,res){
        res.render('index');
        res.end();
    })
    //设置监听端口
    server.listen(8090);
    
    //----------------
    
    //操作soket.io
    
    1.连接soket.io
    
    io.on('connection',function(socket){
        /*
        socket是一个对象  对象中有两个方法
        发送 --- emit方法
        使用:socket.emit(参数1,参数2);
        	参数1 -- 频道号
        	参数2 -- 对象  {'发送数据的键':'值'}
        接收 -- on方法
        使用socket.on(参数1,参数2);
        	参数1 -- 频道号
        	参数2 -- 回调函数(匿名函数)
        */
        socket.emit('h556',{'message':'hhh'});
        
        socket.on('h556',function(data){
            console.log(data);
        })
    })

    ejs端代码
    
    接收服务端发送过来的数据
    1. 引入socket.io 通过在scrirpt中的sec进行引入
    2. 连接socket.io
    io.connect(路由要和服务器端的路由一致)
    
    <script src="/socket.io/socket.io.js"></script>
    <!-- !!!!!!!!!在这里加载的socket.io.js 并不是本地的socket.io 
    		找到的应该是服务端中的socket.io.js  !!!!!!!-->
    
    <script>
    	var socket = io.connect("/");
        //接收服务端信息  data中的数据就是服务端发送的信息
    	socket.on('h556',function(data){
    		console.log(data);
    		//客户端发送消息给服务端
    		socket.emit('h556',{'data':'papapa'})
    	})
    </script>



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值