Node.js moduł netto
Node.js moduł netto
Node.js własny moduł posiada szereg gadżetów dla danych sieci komunikacyjnej, w tym tworzenie podejścia klient / serwer, można wprowadzać do modułu w następujący sposób:
var net = require("net")
sposób
Nie. | Sposób i opis |
---|---|
1 | net.createServer ([opcje] [, connectionListener ]) Tworzenie serwera TCP. Parametry ConnectionListener automatycznie do zdarzenia 'połączenie' stworzył słuchacza. |
2 | net.connect (opcje [, connectionListener]) Zwraca nową "net.Socket" i połączyć się z podanym adresem i portem. Gdy gniazdo ustalone, będzie wyzwalać zdarzenia connect. |
3 | net.createConnection (opcje [, connectionListener]) Utwórz hosta i port hosta do połączenia portu TCP. gospodarzem domyślnie 'localhost'. |
4 | net.connect (port [host] [ , connectListener]) Tworzenie portu dla połączenia portu hosta i hosta TCP. gospodarzem domyślnie 'localhost'. Parametr connectListener doda jako słuchacza connect imprezy. Powrót "net.Socket". |
5 | net.createConnection (port [host] [ , connectListener]) Tworzenie portu dla połączenia portu hosta i hosta TCP. gospodarzem domyślnie 'localhost'. Parametr connectListener doda jako słuchacza connect imprezy. Powrót "net.Socket". |
6 | net.connect (path [, connectListener]) Tworzenie połączenia do ścieżki gniazda Unix. Parametry ConnectListener jako detektor będzie dodane do connect zdarzenia. Powrót "net.Socket". |
7 | net.createConnection (path [, connectListener]) Tworzenie połączenia do ścieżki gniazda Unix. Parametr connectListener doda jako słuchacza connect imprezy. Powrót "net.Socket". |
8 | net.isIP (wejście) Wykrywanie, czy adres IP wejściowego. IPv4 powrotu 4, powrót IPV6 6, w przeciwnym wypadku zwraca 0. |
9 | net.isIPv4 (wejście) Jeśli adres jest wpisany IPv4 zwraca wartość true, w przeciwnym razie zwraca false. |
10 | net.isIPv6 (wejście) Jeśli adres jest wpisany jako IPv6, zwraca wartość true, w przeciwnym razie zwraca false. |
net.Server
net.Server często wykorzystywane do tworzenia TCP lub serwer lokalny.
Nie. | Sposób i opis |
---|---|
1 | server.listen (port [host] [ , Portfel] [, callback]) Słuchanie na określonych połączeń hosta ac portowych i portów hosta. Domyślnie, gospodarz przyjmuje dowolnego adresu IPv4 (INADDR_ANY) bezpośrednie połączenie. Port Port jest 0, to przypisać losowy port. |
2 | server.listen (path [, callback]) Określa ścieżkę połączenia, uruchomić lokalny serwer gniazda. |
3 | server.listen (uchwyt [, callback]) Podłączyć poprzez określenie uchwyt. |
4 | server.listen (opcje [, callback]) Opcje atrybuty: port port, hostów oraz zaległości, a także opcjonalną funkcję parametry wywołania zwrotnego, nazywając je razem server.listen (port, [adres], [Portfel] [callback]). Także, parametr ścieżka może być wykorzystane do określenia gniazdo UNIX. |
5 | server.close ([callback]) Serwer przestaje przyjmować nowe połączenia i utrzymania istniejących połączeń. Jest to funkcja asynchroniczna, gdy wszystkie serwery połączeń end zostanie zamknięty i będzie wyzwalać "bliskie" zdarzenie. |
6 | server.address () System operacyjny zwraca związany adres, nazwisko protokół i port serwera. |
7 | server.unref () Jeśli jest to zdarzenie systemowe serwera tylko jedno aktywne połączenie unref pozwoli program, aby wyjść. |
8 | server.ref () I unref I odwrotnie, jeśli jest to jedyny serwer, należy wywołać ref zanim będzie unref na serwerze nie pozwoli wyjść programów (domyślne zachowanie). Jeśli serwer został ref ref ponownie wywołany i nie będzie miał wpływu. |
9 | server.getConnections (callback) Asynchronous Pobiera liczbę serwerów aktualnie aktywnego połączenia. Gdy gniazdo jest wysyłany do procesu potomnego po skuteczne; funkcji zwrotnej ma dwa argumenty błądzić i policzyć. |
wydarzenie
Nie. | Opis i wydarzenia |
---|---|
1 | słuchający Podczas rozmowy serwera server.listen wiążących wyzwala. |
2 | połączenie Zostanie on uruchomiony, gdy nowe połączenie jest tworzone. Gniazdo jest instancją net.Socket. |
3 | blisko To uruchamia serwer zostanie wyłączony. Zauważ, że jeśli istnieje związek, to zdarzenie nie zostanie wyzwolony dopóki wszystkie połączenia zamknięte. |
4 | błąd Jest on uruchamiany, gdy wystąpi błąd. "Zamknij" zdarzenie zostanie wywołana bezpośrednio po zdarzeniu. |
net.Socket
Obiekt net.Socket jest TCP lub UNIX Gniazdo abstrakcją. przykłady net.Socket z realizacją interfejsu strumienia dupleksu. Mogą one być tworzone w kliencie użytkownika (za pomocą connect ()) stosowanie, lub gdy są one tworzone przez węzeł i dostarczone do użytkownika za pomocą zdarzeń serwera połączenia.
wydarzenie
Zdarzenia net.Socket:
Nie. | Opis i wydarzenia |
---|---|
1 | wyszukiwanie Po imieniu, ale przed podłączeniem do uruchomienia tego zdarzenia. Dla UNIX sokcet NA. |
2 | połączyć Gdy spust zostanie pomyślnie ustanowione połączenie z gniazdem. |
3 | dane Uruchamiany przy odbiorze danych. |
4 | koniec Gdy gniazdo, a drugi koniec do wysyłania FIN pakietu, który wywołał zdarzenie. |
5 | Timeout Gdy gniazdo idle timeout wyzwalany tylko pokaż Gniazdo był bezczynny. Użytkownik musi ręcznie zamknąć połączenie. |
6 | drenaż Gdy spust był pusty, gdy bufor zapisu. Może on być używany do sterowania przesyłania. |
7 | błąd Jest on uruchamiany, gdy wystąpi błąd. |
8 | blisko Pożary, gdy gniazdo jest całkowicie zamknięta. Parametr Had_error jest wartością logiczną, która wskazuje, czy to z powodu gniazda błędy transmisji blisko. |
nieruchomość
net.Socket zapewnia wiele użytecznych właściwości, łatwy do kontrolowania interakcji gniazda:
Nie. | Nieruchomości i opis |
---|---|
1 | socket.bufferSize Ta właściwość wskazuje liczbę bajtów do zapisu do bufora. |
2 | socket.remoteAddress Zdalne ciąg adres IP, na przykład: '74 .125.127.100 'lub' 2001: 4860: A005 :: 68 '. |
3 | socket.remoteFamily Remote IP ciąg Suite, takich jak "IPv4" lub "IPv6". |
4 | socket.remotePort Port zdalny, reprezentacja cyfrowa, na przykład: 80 lub 21. |
5 | socket.localAddress Lokalny interfejs zdalnego połączenia sieciowego klienta wiązki pionowej w lokalnym adresem IP ciągu połączenia. Na przykład, jeśli słuchasz "0.0.0.0", a klient jest podłączony do '192.168.1.1', wartość będzie "192.168.1.1". |
6 | socket.localPort Lokalne numery adres portu. Na przykład: 80 lub 21. |
7 | socket.bytesRead Aby uzyskać liczbę bajtów odebranych. |
8 | socket.bytesWritten Ilość bajtów wysłana. |
sposób
Nie. | Sposób i opis |
---|---|
1 | Nowy net.Socket ([opcje]) Budujemy nowy obiekt gniazda. |
2 | Socket.connect (port [host] [ , connectListener]) Wyznaczonego portu i gospodarz portu hosta, należy utworzyć połączenie przez gniazdo. Host parametrów domyślnych localhost. Zwykle nie ma potrzeby korzystania net.createConnection gniazdo otwarte. Tylko będzie stosowany w celu osiągnięcia ich gniazdo kiedy. |
3 | Socket.connect (path [, connectListener]) Otwórz gniazdo UNIX określonej ścieżki. Zwykle nie ma potrzeby korzystania net.createConnection gniazdo otwarte. Tylko będzie stosowany w celu osiągnięcia ich gniazdo kiedy. |
4 | socket.setEncoding ([kodowanie]) Ustawianie kodowania |
5 | socket.write (dane [kodowanie] [ , callback]) Przesyłanie danych z gniazda. Drugi parametr określa kodowanie napisu, domyślnie kodowanie UTF-8. |
6 | socket.end ([Dane] [kodowanie ]) Częściowo zamkniętym gniazda. Na przykład, wysyła FIN pakietu. Serwer jest nadal możliwe, aby wysłać dane. |
7 | socket.destroy () Upewnij się, że żadna aktywność I / O na gnieździe. Jedynie w przypadku wystąpienia błędów tylko w razie potrzeby. (Błąd przetwarzania, itd.). |
8 | socket.pause () Wstrzymaj odczyt danych. Oznacza to, że dane nie wywoła zdarzenie. Do kontroli przesyłania jest bardzo przydatna. |
9 | socket.resume () Zadzwoń do pauzy () po przeczytaniu dane, które chcesz przywrócić. |
10 | socket.setTimeout (timeout [, callback]) Gniazdo bezczynnie przez ponad limitu czasu milisekund, gniazdo jest ustawiony na czas na zewnątrz. |
11 | socket.setNoDelay ([noDelay]) Wyłącz Nag algorytm (Nagle'a). Domyślnie połączenia TCP użycia algorytmu Nag, że bufor danych przed wysłaniem. Wysyłanie danych natychmiast noDelay ustawiona na wartość true w call socket.write () czasu. noDelay Wartością domyślną jest true. |
12 | socket.setKeepAlive ([Enable] [, initialDelay ]) Włączyć / wyłączyć funkcję długiego łącza, a przed wysłaniem pierwszy w długiej bezczynności połączeń na gniazdo sondy, ewentualnie ustawić początkowe opóźnienie. Wartością domyślną jest false. Ustawianie initialDelay (MS), aby ustawić opóźnienie ostatni pakiet odebrany i długi związek pomiędzy sondą. InitialDelay ustawiony na 0, to pozostawi domyślne (lub poprzedni) wartość. Wartością domyślną jest 0. |
13 | socket.address () System operacyjny zwraca związany adres, nazwisko protokół i port serwera. Zwracany obiekt ma trzy cechy, takie jak {portu: 12346, rodziny: "IPv4, adres: '127.0.0.1'}. |
14 | socket.unref () Jeśli jest to zdarzenie systemowe serwera tylko jedno aktywne połączenie unref pozwoli program, aby wyjść. Jeśli serwer został unref, unref ponownie wywołany i nie będzie miał wpływu. |
15 | socket.ref () I unref I odwrotnie, jeśli jest to jedyny serwer, należy wywołać ref zanim będzie unref na serwerze nie pozwoli wyjść programów (domyślne zachowanie). Jeśli serwer został ref ref ponownie wywołany i nie będzie miał wpływu. |
Przykłady
Tworzenie server.js pliku, kod jest w następujący sposób:
var net = require('net'); var server = net.createServer(function(connection) { console.log('client connected'); connection.on('end', function() { console.log('客户端关闭连接'); }); connection.write('Hello World!\r\n'); connection.pipe(connection); }); server.listen(8080, function() { console.log('server is listening'); });
Realizacja powyższego kodu po stronie serwera:
$ node server.js server is listening # 服务已创建并监听 8080 端口
Otwórz nowe okno, należy utworzyć plik client.js, kod jest w następujący sposób:
var net = require('net'); var client = net.connect({port: 8080}, function() { console.log('连接到服务器!'); }); client.on('data', function(data) { console.log(data.toString()); client.end(); }); client.on('end', function() { console.log('断开与服务器的连接'); });
Realizacja powyższego kodu klienta:
连接到服务器! Hello World! 断开与服务器的连接