SyntaxError:意外的输入结束(nodejs-tcp服务器)
SyntaxError: Unexpected end of input (nodejs tcp server)
我有一个非常基本的tcp服务器,可以发送和接收json数据。
查看我的代码:
// Handle incoming messages from clients.
socket.on('data', function (data) {
var obj = JSON.parse(data);
if(obj.type == "register") {
_clientObj[obj.msg] = {
client: 'Client',
socketID: socket.name
}
console.log("Register...");
} else if(obj.type == "message") {
console.log(socket.name + " --> message: " + obj.msg);
}
});
问题似乎是,有时数据不完整,会出现错误:
SyntaxError:输入意外结束
在解析json之前,我如何等待数据完成?
您可以等待发出end事件,然后解析它。
示例:
// Handle incoming messages from clients.
data = '';
socket.on('data', function (chunk) {
data += chunk;
});
// Handle incoming messages from clients.
socket.on('end', function () {
var obj = JSON.parse(data);
if(obj.type == "register") {
_clientObj[obj.msg] = {
client: 'Client',
socketID: socket.name
}
console.log("Register...");
} else if(obj.type == "message") {
console.log(socket.name + " --> message: " + obj.msg);
}
});
文档:http://nodejs.org/api/all.html#all_event_end_1
相关文章:
- "无法获取/null”;当使用nodejs运行服务器时
- 当在运行nodejs的服务器上调用new Date()时,Date将返回服务器启动时的日期
- 在使用nodejs运行服务器端时,无法加载角度控制器文件
- 为什么NodeJS/restify服务器很少在接受时报告EPERM
- 如何使用 NodeJS Express 服务器在 HTML 中包含 JS 文件
- NodeJS + expressJS:服务器端与客户端 html 渲染
- 如何使用 Sails.js 创建 TCP 服务器
- NodeJS聊天服务器跨页面持久存在
- NodeJS 聊天服务器示例代码
- TCP 服务器,用于用 Javascript 编写的插件
- 无法在TCP服务器和节点.js之间发送消息
- SyntaxError:意外的输入结束(nodejs-tcp服务器)
- Node.js TCP服务器,用于评估和打印数据
- 当用户发送get请求时,我怎么能等到数据在Node.js中从TCP服务器接收到
- 如何通过节点网络套接字连接ruby TCP服务器
- 如何使用NodeJS作为服务器语言将数据从jade传递到mongodb
- 为什么这个nodejs代理服务器挂起
- C#Tcp服务器-HTML5网络套接字通信
- NodeJS创建服务器httpRequest和线程
- Node.js JavaScript如何在异步事件处理程序中访问oject数据;socket.on”;在TCP服务器中