Latest web development tutorials

인터넷 모듈을 Node.js를

인터넷 모듈을 Node.js를

Node.js를 도구 모듈 Node.js를 도구 모듈

인터넷 모듈은 클라이언트 / 서버 방식의 생성을 포함하는 내부 네트워크 통신 기기의 숫자를 제공 Node.js를, 우리는 다음과 같은 방법으로 모듈로 도입 될 수있다 :

var net = require("net")

방법

아니오. 방법 및 설명
(1) net.createServer ([옵션] [connectionListener ])
TCP 서버를 작성합니다. 자동으로 '연결'이벤트에 ConnectionListener 매개 변수는 리스너를 만들었습니다.
net.connect (옵션 [, connectionListener])
그것은 새로운 'net.Socket'를 반환하고, 지정된 주소와 포트에 연결합니다.
소켓이 확립되면, 상기 '접속'이벤트를 트리거 할 것이다.
3 net.createConnection (옵션 [, connectionListener])
포트 TCP 연결을 호스트와 호스트 포트를 만듭니다. 'localhost를'디폴트를 개최.
4 net.connect (포트 [호스트] [ , connectListener])
호스트 포트 및 호스트 TCP 연결을위한 포트를 만듭니다. 'localhost를'디폴트를 개최. 매개 변수 connectListener은 '연결'이벤트에 대한 리스너로 추가합니다. 뒤로 'net.Socket'.
(5) net.createConnection (포트 [호스트] [ , connectListener])
호스트 포트 및 호스트 TCP 연결을위한 포트를 만듭니다. 'localhost를'디폴트를 개최. 매개 변수 connectListener은 '연결'이벤트에 대한 리스너로 추가합니다. 뒤로 'net.Socket'.
6 net.connect (경로 [, connectListener])
유닉스 소켓의 경로에 대한 연결을 만듭니다. 리스너로 ConnectListener 매개 변수는 '연결'이벤트에 추가됩니다. 뒤로 'net.Socket'.
(7) net.createConnection (경로 [, connectListener])
유닉스 소켓의 경로에 대한 연결을 만듭니다. 매개 변수 connectListener은 '연결'이벤트에 대한 리스너로 추가합니다. 뒤로 'net.Socket'.
8 net.isIP (입력)
입력 된 IP 주소가 있는지 여부를 검출하는 단계를 포함하는 방법. IPV4 리턴 4, IPV6 리턴 (6), 그렇지 않으면 0을 반환합니다.
9 net.isIPv4 (입력)
입력 한 주소는 IPV4 인 경우, 그렇지 않은 경우는 false, true를 돌려줍니다.
(10) net.isIPv6 (입력)
주소가 IPV6로 입력 한 경우, 그렇지 않은 경우는 false, true를 돌려줍니다.

net.Server

net.Server은 종종 TCP 또는 로컬 서버를 작성하는 데 사용됩니다.

아니오. 방법 및 설명
(1) server.listen (포트 [호스트] [ , 백 로그] [콜백])
지정된 포트 및 호스트 포트 호스트 교류 연결에 듣기. 기본적으로 호스트는 IPv4 주소 (INADDR_ANY) 직접 연결을 받아들입니다. 포트 포트는 임의 포트를 할당되며, 0이다.
server.listen (경로 [콜백])
연결의 경로를 지정, 로컬 소켓 서버를 시작합니다.
3 server.listen (처리 [콜백])
핸들을 지정하여 연결합니다.
4 server.listen (옵션 [콜백])
옵션 속성 : 포트 포트, 호스트 호스트 및 백 로그뿐만 아니라 선택적 매개 변수 콜백 함수를, 그들이 함께 (포트, [호스트], [백 로그], [콜백]) server.listen 호출. 또한, 경로 파라미터는 UNIX 소켓을 지정하는데 사용될 수있다.
(5) server.close ([콜백])
서버는 기존 연결을 새로운 연결을 수락하고 유지 중지합니다. 이것은 모든 연결 엔드 서버가 종료됩니다, 그리고 '가까이'이벤트를 트리거 비동기 기능입니다.
6 server.address ()
운영 체제는 어드레스 바인딩 프로토콜 패밀리 이름 및 서버 포트를 반환한다.
(7) server.unref ()
이 서버의 시스템 이벤트 인 경우 하나의 활성 통화 unref 프로그램이 종료 할 수 있습니다.
8 server.ref ()
이 유일한 서버 인 경우 그리고 unref 반대로, 프로그램이 종료 (기본 동작)을 허용하지 않습니다 서버에 unref되기 전에 심판을 호출합니다. 서버가 심판 되었으면 REF 다시 호출되고 영향을 줄 수 없다.
9 server.getConnections (콜백)
비동기는 현재 서버의 수 활성 연결을 가져옵니다. 소켓이 유효 후 자식 프로세스로 전송되면, 콜백 함수 두 개의 인수가 잘못하고 계산이있다.

행사

아니오. 이벤트 및 설명
(1) 청취
때 서버 호출이 결합 트리거를 server.listen.
연결
새 연결이 생성 될 때 트리거됩니다. 소켓은 net.Socket 인스턴스입니다.
3 가까운
그것은 서버가 종료 트리거합니다. 연결이있는 경우 모든 연결이 종료 될 때까지,이 이벤트가 트리거되지 않습니다.
4 오류
오류가 발생할 때 트리거된다. '닫기'이벤트는 이벤트 다음 직접 호출됩니다.

net.Socket

net.Socket 객체는 TCP 소켓 또는 UNIX 추상화이다. 이중 스트림 인터페이스의 실현 net.Socket 예. 이들은 사용 (연결 ()를 사용하여) 사용자 클라이언트에 생성하거나, 상기 노드에 의해 생성 될 때, 연결 서버 이벤트를 통해 사용자에게 전달 될 수있다.

행사

net.Socket 이벤트 :

아니오. 이벤트 및 설명
(1) 조회
이름 후하지만 전에이 이벤트를 트리거에 연결. UNIX의 경우 NA를 sokcet.
연결
트리거 성공적 소켓 접속을 확립하는 경우.
3 데이터
데이터가 수신 될 때 발생합니다.
4
때 소켓과 다른 쪽 끝이 이벤트를 트리거 FIN 패킷을 전송하는 방법.
(5) 시간 제한
소켓 유휴 시간 제한 만 발생하는 경우 표시 소켓 유휴 상태. 사용자가 수동으로 연결을 종료해야합니다.
6 배수
트리거되면 쓰기 캐시 비어있을 때. 업을 제어하기 위해 사용될 수있다.
(7) 오류
오류가 발생할 때 트리거된다.
8 가까운
화재 소켓이 완전히 닫혀 있습니다. Had_error 매개 변수로 인해 여부를 전송 오류 소켓 가까이를 나타내는 부울 값입니다.

재산

net.Socket는 많은 유용한 특성을 제공, 소켓의 상호 작용을 제어하기 쉬운 :

아니오. 부동산 및 설명
(1) socket.bufferSize
이 속성 바이트 수를 버퍼에 기록 될 나타낸다.
socket.remoteAddress
원격 예를 들어 IP 주소 문자열 : '74 .125.127.100 '또는'2001 : 4860 : A005 : 68 '.
3 socket.remoteFamily
이러한 'IPv4의'또는 'IPv6의'원격 IP 프로토콜 문자열.
4 socket.remotePort
예를 들어 원격 포트, 디지털 표현, 80 또는 21.
(5) socket.localAddress
연결 문자열의 로컬 IP 주소 직립 원격 클라이언트가 네트워크 접속 다발의 로컬 인터페이스. 사용자가 '0.0.0.0'를 수신하고, 클라이언트는 '192.168.1.1'에 연결되어있는 경우, 예를 들어, 값 '192.168.1.1'이 될 것이다.
6 socket.localPort
로컬 포트 ​​주소 번호. 예를 들어 : 80 또는 21.
(7) socket.bytesRead
수신 된 바이트 수를 얻을 수 있습니다.
8 socket.bytesWritten
바이트 수는 보냈다.

방법

아니오. 방법 및 설명
(1) 새로운 net.Socket ([옵션])
우리는 새로운 소켓 객체를 생성.
를 Socket.connect (포트 [호스트] [ , connectListener])
지정 포트 및 호스트 포트 호스트, 소켓 연결을 만들 수 있습니다. 로컬 호스트 매개 변수 기본값을 호스트. 일반적으로 필요 net.createConnection 오픈 소켓을 사용할 수 없습니다. 당신 만이 할 때 자신의 소켓을 달성하는 데 사용됩니다.
3 를 Socket.connect (경로 [, connectListener])
유닉스 소켓 지정된 경로를 엽니 다. 일반적으로 필요 net.createConnection 오픈 소켓을 사용할 수 없습니다. 당신 만이 할 때 자신의 소켓을 달성하는 데 사용됩니다.
4 socket.setEncoding ([인코딩])
설정 코딩
(5) socket.write (데이터 [인코딩] [ 콜백])
소켓상에서 데이터를 전송하는 단계를 포함한다. 두 번째 매개 변수는 문자열의 인코딩을 지정, 기본값은 UTF8 인코딩입니다.
6 socket.end ([자료] [인코딩 ])
세미 폐쇄 소켓. 예를 들어, 그것은 FIN 패킷을 전송한다. 서버는 데이터를 송신하는 것이 여전히 가능하다.
(7) socket.destroy ()
확인이 소켓에 어떤 I / O 활동. 필요한 경우에만 경우 오류가 발생합니다. (프로세싱 에러 등).
8 socket.pause ()
읽기 데이터를 일시 중지합니다. 즉, 데이터가 이벤트를 트리거하지 않습니다이다. 업로드 제어를 위해 매우 유용합니다.
9 socket.resume ()
복원 할 데이터를 읽은 후 일시 정지 ()를 호출합니다.
(10) socket.setTimeout (타임 아웃 [콜백])
제한 시간 (밀리 초)보다 더 많은 유휴 소켓은 소켓은 아웃 시간으로 설정됩니다.
(11) socket.setNoDelay ([noDelay])
바가지 (월리) 알고리즘을 사용하지 않습니다. 기본 TCP 연결을 사용 바가지 알고리즘에 의해, 그들은 보내기 전에 데이터를 버퍼링. 전송 데이터는 즉시 noDelay는 통화 socket.write () 시간에 true로 설정합니다. noDelay 기본값은 true입니다.
(12) socket.setKeepAlive ([사용], initialDelay의 ])
/ 비활성화 긴 링크 기능을 활성화하고, 프로브 소켓에 긴 유휴 연결의 첫 번째를 보내기 전에, 선택적으로 초기 지연을 설정합니다. 기본값은 false입니다. initialDelay의 (밀리 초)을 설정하면 마지막 패킷이 수신 지연과 프로브 사이의 긴 연결을 설정합니다. initialDelay의는 기본 (또는 이전) 값을 떠나, 0으로 설정합니다. 기본값은 0입니다.
(13) socket.address ()
운영 체제는 어드레스 바인딩 프로토콜 패밀리 이름 및 서버 포트를 반환한다. {: 12346, 가족 '의 IPv4'주소 '127.0.0.1'포트} 반환되는 객체는 다음과 같은 세 가지 특성이 있습니다.
(14) socket.unref ()
이 서버의 시스템 이벤트 인 경우 하나의 활성 통화 unref 프로그램이 종료 할 수 있습니다. 서버가 unref 된 경우, unref 다시 호출되고 영향이 없습니다.
(15) socket.ref ()
이 유일한 서버 인 경우 그리고 unref 반대로, 프로그램이 종료 (기본 동작)을 허용하지 않습니다 서버에 unref되기 전에 심판을 호출합니다. 서버가 심판 되었으면 REF 다시 호출되고 영향을 줄 수 없다.

server.js 파일을 만들고 다음과 같이 코드 :

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');
});

상기 서버 측 코드의 구현 :

$ node server.js
server is listening   # 服务已创建并监听 8080 端口

client.js 파일을 생성, 새 창을 열고 다음과 같이 코드 :

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('断开与服务器的连接');
});

위의 클라이언트 코드의 구현 :

连接到服务器!
Hello World!

断开与服务器的连接

지프의 예를 보여

Node.js를 도구 모듈 Node.js를 도구 모듈