Моя репутация слишком низкая, поэтому я не могу комментировать, к сожалению, но я не вижу, где в вашем коде вы пытаетесь хранить IP-адреса клиентов и глобально портировать?
Я не вижупочему это не сработает.Я только что проверил это локально, и это прекрасно работает:
var port = 3000
var express = require('express')
var app = express()
var http = require('http').Server(app)
var clientIP = null
var clientPORT = null
app.use(function (req, res, next) {
clientIP = req.ip
clientPORT = req.connection.remotePort
console.log(req.ip)
console.log(req.connection.remotePort)
next()
})
http.listen(port, function() {
console.log('listening')
})
setInterval(function() {
console.log(clientIP)
console.log(clientPORT)
}, 1000)
Я установил интервал, чтобы мы могли видеть, действительно ли переменные обновляются.Первоначально, когда функция интервала запускается, она печатает ноль.Но после того, как я сделал запрос к localhost: 3000 он записывает мой ip и порт, а затем распечатывает это.