Comment faire pour récupérer le client et le serveur adresse IP et numéro de port dans Node.js

J'ai essayé de chercher beaucoup pour trouver un moyen de connaître le client et le serveur adresse ip et numéro de port. Jusqu'à présent j'ai trouvé:

  1. Ip du Client : peut être connu par req.ip.
  2. Port Client : j'ai beaucoup cherché mais je ne pouvais pas trouver un moyen de trouver ce client port éphémère. Après l'inspection de la req et res objets, j'ai trouvé que, parfois, res.connection._peername contient l'adresse ip du client et le numéro de port. Mais ce n'est pas le moyen fiable pour trouver le numéro de port, car, dans certains demande cette propriété est manquant. Alors, quelle est la bonne façon de savoir à propos de la port ?
  3. Ip du serveur : Ici, je suis intéressé à savoir l'externe ou de l'ip publique du serveur. J'ai cherché un peu pour la même chose et j'ai trouvé ce lien qui utilise une api externe pour récupérer l'adresse ip externe. Est-ce la seule façon possible de trouver l'adresse IP externe ? Ou sont-il un autre moyen possible ?
  4. Port du serveur : Il ne peut être connu avec listener.address().port [source] . Mais peut-il être connu à partir de req ou res objets ? En fait, je veux savoir le numéro de port dans le middleware où j'ai req,res et nextseulement( essentiellement app.use(function(req,res,next){...}))).

OriginalL'auteur user2805872 | 2016-07-17