如果客户端发送 JSON,我的 TCP 套接字数据处理程序在 try 块中工作正常。但是,我还想通过 telnet 支持一些基本的“终端命令”,所以如果解析器失败,catch 块应该尝试识别支持的,但我总是得到默认响应 SyntaxError ...
socket.on('data', function(data){
try{
var json = JSON.parse(data);
switch(json.event){
default:
console.log('unhandled event:'+json.event);
break;
}
}catch(err){
console.log("CLIENT SAID: "+data);
switch(data){
case "echo":
socket.write("ECHO:"+data+"\n");
break;
case "clients":
socket.write("CLIENTS:"+clients.length+"\n");
break;
default:
socket.write('ERROR:'+err+"\n");
break;
}
}
});