koa2 socket.io

安裝

npm i socket.io

socket連接可以跟http同端口。

單獨一個文件夾socket下文件index.js,作爲socket任務處理

const IO = require('socket.io')

let hashName = new Array()

function creatSocket(app) {
 const io = IO(app);
 // socket連接
 io.on('connection', (socket) => {
 console.log(socket.id)
 socket.on('setRoom', function (data) {
 console.log(data);
 var name = data.roomId;
 // // 儲存上線的用戶
 hashName[name] = socket.id;
 });

 socket.on('chat message', (msg) => {
 console.log('服務器收到了消息:')
 console.log('message: ' + msg);
 io.emit('chat message', { hello: '你是誰' });
 });

 socket.on('disconnect', () => {
 console.log('user disconnected');
 });
 });
}

module.exports = creatSocket

在項目的主文件index.js中

const server=require('http').createServer(app.callback())
const createServer=require('./socket')

const static = require('koa-static')
const path = require('path')
//————————————————————
app.use(static(path.join(__dirname, './static')))
//————————————————————
createServer(server)
server.listen(3000)

 

發佈了66 篇原創文章 · 獲贊 30 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章