在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:yklykl530/koa-sse开源软件地址:https://github.com/yklykl530/koa-sse开源编程语言:JavaScript 92.5%开源软件介绍:koa-sse-stream
Install
Usageconst Koa = require('koa');
const compress = require('koa-compress');
const sse = require('koa-sse-stream');
const app = new Koa();
// !!attention : if you use compress, sse must use after compress
app.use(compress())
/**
* koa sse middleware
* @param {Object} opts
* @param {Number} opts.maxClients max client number, default is 10000
* @param {Number} opts.pingInterval heartbeat sending interval time(ms), default 60s
* @param {String} opts.closeEvent if not provide end([data]), send default close event to client, default event name is "close"
* @param {String} opts.matchQuery when set matchQuery, only has query (whatever the value) , sse will create
*/
app.use(sse({
maxClients: 5000,
pingInterval: 30000
}));
app.use(async (ctx) => {
// ctx.sse is a writable stream and has extra method 'send'
ctx.sse.send('a notice');
ctx.sse.sendEnd();
}); ctx.ssea writable stream
/**
* Event `close` Triggered when an SSE connection is closed, whether the server is actively closed or the client is closed
*/
/**
*
* @param {String} data sse data to �send, if it's a string, an anonymous event will be sent.
* @param {Object} data sse send object mode
* @param {Object|String} data.data data to send, if it's object, it will be converted to json
* @param {String} data.event sse event name
* @param {Number} data.id sse event id
* @param {Number} data.retry sse retry times
* @param {*} encoding not use
* @param {function} callback same as the write method callback
*/
send(data, encoding, callback)
/**
*
* @param {String} data sse data to �send, if it's a string, an anonymous event will be sent.
* @param {Object} data sse send object mode
* @param {Object|String} data.data data to send, if it's object, it will be converted to json
* @param {String} data.event sse event name
* @param {Number} data.id sse event id
* @param {Number} data.retry sse retry times
* @param {*} encoding not use
* @param {function} callback same as the write method callback
*/
sendEnd(data, encoding, callback) Attention !!!if you use compress, sse must use after compress |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论