+
95
-

回答

设置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')
})


网友回复

我知道答案,我要回答