基于网络聊天室的社交游戏 -- nodejs、express、socket.io-server
2021-07-02 18:03
标签:express 代码 网络 span function callback ext als hub 系列博文的传送门:http://www.cnblogs.com/lastpairs/p/6993237.html 客户端代码github地址 https://github.com/xxyjskx1987/lastpairswebapp 服务器端代码github地址 https://github.com/xxyjskx1987/lastpairsnodeserver 项目演示地址 http://www.tanmiba.com/ 后端采用express进行搭建,express的使用方式如下 在express中使用socket.io,并且通过域名限制ws连接,模拟跨域 express中对session的简单使用 基于网络聊天室的社交游戏 -- nodejs、express、socket.io-server 标签:express 代码 网络 span function callback ext als hub 原文地址:http://www.cnblogs.com/lastpairs/p/7127110.htmlvar express = require(‘express‘);
var app = express();
//设置跨域请求的域名
app.all(‘*‘, function(req, res, next) {
res.header("Access-Control-Allow-Credentials", "true");
res.header("Access-Control-Allow-Origin", "");
next();
});
//设置监听端口
app.set(‘PORT‘, 3000);
var server = app.listen(app.get(‘PORT‘),function(err){
if(err){
console.error(‘server error:%s‘,err && ess.message);
return;
}
console.log(‘server listening at :::‘,app.get(‘PORT‘));
});
var io = require(‘socket.io‘)(server);
//通过域名限制ws连接
io.origins((origin, callback) => {
if (origin !== ‘http://www.tanmiba.com‘) {
return callback(‘origin not allowed‘, false);
}
callback(null, true);
});
//使用socket.io
io.sockets.on(‘connection‘, function (socket) {
console.log("connection");
socket.on(‘commonsay‘,function(data){
console.log("commonsay:" + data);
//广播
io.sockets.emit(‘commonsay‘, data);
});
socket.on(‘disconnect‘,function(){
console.log("disconnect");
});
});
var session = require(‘express-session‘);
app.use(session({
resave: false,
saveUninitialized: true,
secret:‘recommand 128 bytes random string‘,
cookie:{maxAge:60*1000*1000}
}));
上一篇:python Lock锁
文章标题:基于网络聊天室的社交游戏 -- nodejs、express、socket.io-server
文章链接:http://soscw.com/index.php/essay/100892.html