Node.js TCP服务器,用于评估和打印数据
Node.js TCP server that eval and print data
我试图创建一个简单的TCP服务器来评估并打印结果,但没有成功,这是我的代码:
var net = require('net');
var server = net.createServer(function(socket) {
socket.on('data', function(data) {
socket.write('result: ');
socket.end(eval(data));
});
});
server.listen(8080);
当我连接到8080端口时,我得到了这个:
$ echo 10+10 | nc localhost 8080
result: 10+10
为什么eval不起作用?
默认情况下,流在数据事件中接收一个Buffer
对象。
来自MDN:
如果eval()的参数不是字符串,则eval(
由于eval
对对象无效,write()
按原样发送数据。必须将套接字的编码显式设置为utf8,才能将数据转换为字符串。
var server = net.createServer(function(socket) {
socket.setEncoding('utf8');
socket.on('data', function(data) {
socket.write('result: ');
var evaluatedData = eval(data);
socket.end(evaluatedData.toString());
});
});
toString()
是必需的,因为socket.write
,实际上是Writable.write
,接受string
或Buffer
。
相关文章:
- 使用javascript将动态表从一个html页面打印到另一个html页
- JavaScript打印功能使日历停止工作
- esri javascript异步打印
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 使用正则表达式评估电子邮件地址时出现性能问题
- jQuery/JavaScript在线公文包表单-打印样式表
- 如何打印嵌套对象的所有值
- 在终端中运行 JavaScript 时(使用 rhino),如何使用 print() 函数在一行中打印
- 打印预览没有应用程序页眉和页脚的html表格
- 正在打印图表上的文本
- Rhino打印功能
- 在通过child.print()打印之前,我如何等待图像加载到我的新窗口中
- 如何检查链接是否有文本,并根据文本值评估条件-Jquery/JS
- 如何用javascript打印php数组
- Javascript,从静态函数中打印全局对象
- 试图打印/调用/或提醒数组中的对象:Getting Undefined
- 按压“;输入“;将值打印到控制台日志
- 将数组的拼接分配给自身时,Javascript控制台打印不起作用
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- Node.js TCP服务器,用于评估和打印数据