2015-03-01 12 views
5

Używam Node.js z https://github.com/websockets/ws.Dlaczego remoteAddress jest ukryty?

Próbuję zapisać użytkowników remoteAddress w tymczasowej zmiennej gniazda. Mogę uzyskać dostęp do tej zmiennej przez: socket.upgradeReq.connection.remoteAddress

Problem polega na tym, skąd na świecie pochodzi usługa remoteAddress? Zmienna "remoteAddress" nie znajduje się nawet w żadnym z plików WS node_plugin w katalogu lib. (Użyłem Notepad ++ przeszukać każdego pliku).

Jedynym powodem, dla którego przyszedł o znalezienie dostęp do tej zmiennej jest z tego tematu: How to get client IP address using websocket (einaros/ws) lib in node.js?

Heck, nawet przy wyświetlaniu console.log(self.upgradeReq.connection); w moim konsoli nadal nie mogę Znajdź to!

obrazy listy konsoli obiektu:

Enter image description here

Enter image description here

Gdzie na świecie? Czy czegoś brakuje?

+0

Proszę nie używać obrazów, jeśli jest to kod, po prostu umieść go w pytaniu bezpośrednio jako blok kodu. – loganfsmyth

+0

Cóż, doszedłem do wniosku, że cały kod w konsoli spamowałby stronę: P –

+2

Jeśli chcesz, aby ludzie zadali sobie trudu z pytaniem, to musi być czytelny. http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question – loganfsmyth

Odpowiedz

3

To przychodzi wbudowany moduł Node.js net. Oto jak go wyśledzić:

Numer ws documentation odwołuje się do upgradeReq jako "Żądanie HTTP, które zainicjowało aktualizację". Przeglądając kod ws, jasne jest, że używa on wbudowanej biblioteki Node.js http do obsługi żądań HTTP.

Node.js http request documentation mówi, że http.ClientRequest.connection jest odniesieniem do podstawowego TCP socket danego żądania.

Kod TCP serwera Node.js znajduje się w bibliotece net. net docs dokument socket.remoteAddress.

+1

Właśnie odzyskałem mój e-mail i zobaczyłem ten post, dziękuję bardzo. Oznaczone jako najlepsze. OK Teraz widzę, myślę, że tęskniłem za tym, czytając ich dokumenty. –

Powiązane problemy