use*_*559 4 javascript sockets node.js express
我能够使用下面的源在 Node.js 中捕获原始请求。
var http = require('http');
var express = require('express');
var remote = express();
remote.use(function(req, res, next) {
req.socket.once('data', function(data) {
console.log(data.toString());
});
next();
});
remote.use(function(req, res, next) {
res.end('end');
});
http.createServer(remote).listen(8080);
Run Code Online (Sandbox Code Playgroud)
但是这个源可以在(包括)第二个请求之后捕获原始请求,因为第一个请求在绑定事件处理程序之前被消耗。如果客户端不使用保持活动状态,我将无法捕获任何请求。
如何捕获原始请求,包括第一个请求?
我找到了一种在 http.Server 上使用'connection' 事件的方法。
var http = require('http');
var express = require('express');
var remote = express();
remote.use(function(req, res, next) {
res.end('end');
});
var server = http.createServer(remote);
server.on('connection', function(socket) {
socket.on('data', function(chunk) {
console.log(chunk.toString());
});
});
server.listen(8080);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1580 次 |
| 最近记录: |