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>
2021-05-24
最新推荐文章于 2022-01-26 22:26:06 发布