Eri*_*rik 3 javascript node.js express socket.io socket.io-1.0
我需要在连接处理程序中发出错误,并在客户端捕获此类错误:
//服务器端.js
var http = require('http');
var sio = require('socket.io');
var app = require('express')();
var server = require('http').createServer(app).listen(3000, function () {
console.log('Server listening on 3000 port');
});
var io = sio.listen(server);
io.on('connection', function (socket) {
// do something and emit error
socket.emit('error', new Error('Some error happend'));
});
Run Code Online (Sandbox Code Playgroud)
//清洁侧
var socket = io.connect(window.location.origin);
socket.on('error', fucntion () {
console.log('never happend');
});
Run Code Online (Sandbox Code Playgroud)
但是问题出socket.emit('error', new Error('Some error happend'));在服务器端,由于此问题,总是会引发错误并使Node.js服务器崩溃
您能帮助如何发出错误并在客户端正确处理吗?
服务器
socket.emit('my error', 'Some error happened');
Run Code Online (Sandbox Code Playgroud)
客户
socket.on('my error', function (text) {
console.log(text);
});
Run Code Online (Sandbox Code Playgroud)
error 不幸的是,它是保留名称。
如果需要在客户端捕获它,请使用其他事件名称来通知客户端
// server
socket.on("error", function() {
socket.emit("my error", "Something bad happened!");
});
// client
socket.on('my error', function (text) {
console.log(text);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4320 次 |
| 最近记录: |