设置allowEIO3: true,
var app = require('express')()//链式语法
var http = require('http').Server(app)
var io = require('socket.io')(http, {
allowEIO3: true,
cors: {
origin: ['web.debug.only.bfw.wiki/'],//跨域设置
methods: ["GET", "POST"],
credentials: true,
}});
//2。express 路由
app.get('/', (req, res)=> {
//res.sendFile(__dirname+'/index.html')
// res.send(new Buffer('whoop'));
// res.send({
// some: 'json'
//});
var str = `
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script src="//repo.bfw.wiki/bfwrepo/js/socket.io.js"></script>
<script>
window.onload = function () {
var socket = io.connect(':3001');
//监听与服务器端的连接成功事件
socket.on('connect', function () {
console.log('客服端连接成功');
socket.emit("message","say");
});
// 客服端收到服务器发过来的消息后
socket.on('message', function (message) {
console.log('客服端接收消息 ' + message);
});
//监听与服务器端断开连接事件
socket.on('disconnect', function () {
console.log('断开连接');
});
};
</script>
</body>
</html>
`;
res.send(str);
})
// app.get('/list',(req, res)=>{
// res.send('<h1>hello world list !</h1>')
// })
io.on('connection', function(socket) {
console.log('a user connected');
//socket = client
socket.on('disconnect', function() {
console.log('user disconnected');
});
//绑定了一个chat message事件 ,在前端触发
socket.on('chat message', function(msg) {
io.emit('chat message', msg);
});
});
//1.创建一个监听端口,开启服务器
http.listen(3001, ()=> {
console.log('listening 3001')
})
网友回复