有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
socketio.emit 发送文本/二进制消息。
emit(event: string, msg: any, callback?: (...args: any[]) => void): void

参数

参数
类型
描述
event
string
事件
msg
any
文本内容/二进制文件

返回

类型
描述
void
无返回内容

样例

// SocketIO API
import socketio from 'pts/socketio';
import { check, sleep } from 'pts';
import util from 'pts/util';

export default function () {
const res = socketio.connect('http://localhost:8080', function (socket) {
socket.on('open', () => console.log('connected'));
socket.on('message', (data) => console.log('message received: ', data));
socket.on('binaryMessage', (data) => console.log('binaryMessage received: ', data));
socket.on('close', () => console.log('disconnected'));
socket.setTimeout(function () {
console.log('3 seconds passed, closing the socket');
socket.close();
}, 3000);
// 设置定时任务
socket.setTimeout(function () {
socket.emit('message', 'hello');
socket.emit('binaryMessage', util.base64Decoding('aGVsbG8=', 'std', 'b'));
socket.emit('ackMessage', 'hello ack', function(msg) {
console.log('ack message received: ', msg)
})
}, 500);
// 设置定期执行的任务
socket.setInterval(function(){
socket.emit('message', 'interval message');
}, 500);
// 设置循环执行任务,socket/context 关闭自然退出
socket.setLoop(function () {
sleep(0.1);
socket.emit('message', 'loop message');
});
}, {
// 支持 polling、websocket 协议
protocol:'websocket',
headers: {
token: 'xxx',
}
});
check('status is 200', () => res.status === 200);
}