作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何编写一个截取消息的简单流?
例如,假设我要记录(或最终转换)由用户的socket.write(...)调用通过网络发送的消息。
以下是尝试执行此操作的最小程序:
const net = require('net');
const stream = require('stream');
const socket = new net.Socket();
const transformer = new stream.Transform({
transform(chunk,e,cb){
console.log("OUT:"+chunk.toString());
cb();
}});
//const client = socket.pipe(transformer); // <= prints "OUT:" on client, but nothing on server
const client = transformer.pipe(socket); // <= prints nothing on client, but "hello world" on server
socket.on('data', (data)=>{ console.log("IN:"+data.toString()); });
socket.connect(1234, 'localhost', ()=>{ client.write("hello world"); });
最佳答案
看来我需要更改以下行
socket.connect(1234, 'localhost', ()=>{ client.write("hello world"); });
socket.connect(1234, 'localhost', ()=>{ transformer.write("hello world"); });
关于node.js - 如何在 Node 中拦截传出的tcp消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43668378/
我是一名优秀的程序员,十分优秀!