VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Học Node.js

Node.js là gì? Cài đặt Node.js Giới thiệu qua về Module Ứng dụng Hello World REPL Terminal Node.js NPM Callback trong Node.js Event Loop trong Node.js Lớp EventEmitter Khái niệm Buffer Khái niệm Stream Đọc/Ghi File Các đối tượng Global Đối tượng Console Đối tượng Process Giới thiệu Express Framework RESTFul API là gì? Một số Utility Module Web Module OS Module path Module net Module dns Module domain Module
1 / 3
❮ ❯

Net Module trong Node.js


Path Module trong Node.js
DNS Module trong Node.js

Nội dung chính

  • Net Module
  • Phương thức của net Module trong Node.js
  • Lớp net.Server trong Node.js
    • Phương thức của lớp net.Server trong Node.js
    • Sự kiện của lớp net.Server trong Node.js
  • Lớp net.Socket trong Node.js
    • Sự kiện của net.Socket trong Node.js
    • Thuộc tính của net.Socket trong Node.js
    • Phương thức của net.Socket trong Node.js
  • Ví dụ sử dụng net Module trong Node.js

Net Module

Net Module trong Node.js được sử dụng để tạo Server và Client. Module này cung cấp một Network Wrapper không đồng bộ. Cú pháp:


var net = require("net")

Phương thức của net Module trong Node.js

SttPhương thức & Mô tả
1net.createServer([options][, connectionListener])
Tạo một TCP Server mới. Tham số connectionListener tự động được thiết lập để thành một Listener cho sự kiện 'connection'.
2net.connect(options[, connectionListener])
Đây là một phương thức factory, trả về một 'net.Socket' mới và kết nối tới address và port đã cho.
3net.createConnection(options[, connectionListener])
Đây là một phương thức factory, trả về một 'net.Socket' mới và kết nối tới address và port đã cho.
4net.connect(port[, host][, connectListener])
Tạo một kết nối TCP tới port trên host đã cho. Nếu host không được cung cấp, thì giá trị mặc định là 'localhost'. Tham số connectListener sẽ được thêm vào như là Listener cho sự kiện 'connect'.
5net.createConnection(port[, host][, connectListener])
Tạo một kết nối TCP tới port trên host đã cho. Nếu host không được cung cấp, thì giá trị mặc định là 'localhost'. Tham số connectListener sẽ được thêm vào như là Listener cho sự kiện 'connect'.
6net.connect(path[, connectListener])
Tạo một kết nối Unix Socket tới đường dẫn đã cho. Tham số connectListener sẽ được thêm vào như là Listener cho sự kiện 'connect'.
7net.createConnection(path[, connectListener])
Tạo một kết nối Unix Socket tới đường dẫn đã cho. Tham số connectListener sẽ được thêm vào như là Listener cho sự kiện 'connect'.
8net.isIP(input)
Kiểm tra xem input có phải là một địa chỉ IP address không. Trả về giá trị 0 cho một chuỗi không hợp lệ, 4 cho phiên bản địa chỉ IP v4, và trả về 6 cho địa chỉ IP v6.
9net.isIPv4(input)
Trả về true nếu input là địa chỉ IP v4, nếu không là false.
10net.isIPv6(input)
Trả về true nếu input là địa chỉ IP v6, nếu không là false.

Lớp net.Server trong Node.js

Lớp net.Server được sử dung để tạo một TCP Server hoặc Local Server.

Phương thức của lớp net.Server trong Node.js

SttPhương thức & Mô tả
1server.listen(port[, host][, backlog][, callback])
Bắt đầu chấp nhận kết nối trên port và host đã cho. Nếu không cung cấp tham số host, Server sẽ chấp nhận các kết nối trực tiếp tới bất kỳ địa chỉ IPv4 nào (INADDR_ANY). Nếu giá trị port là 0 sẽ gán một port ngẫu nhiên.
2server.listen(path[, callback])
Khởi động một Local Server để nghe các kết nối trên path đã cho.
3server.listen(handle[, callback])
Đối tượng handle có thể được thiết lập cho Server hoặc Socket. Việc này làm cho Server chấp nhận kết nối tới một handle cụ thể.
4server.listen(options[, callback])
Tham số options có thể là các thuộc tính port, host, và backlog. Tham số callback là một hàm callback tùy ý mà làm việc như khi gọi tới phương thức server.listen(port, [host], [backlog], [callback]) .
5server.close([callback])
Đóng tất cả các kết nối đã kết thúc và Server sinh một sự kiện 'close'.
6server.address()
Trả về một địa chỉ bound address và port của Server, như đã được báo cáo bởi Hệ điều hành.
7server.unref()
Việc gọi phương thức unref trên một Server sẽ cho phép chương trình thoát ra.
8server.ref()
Trái ngược với phương thức unref(), việc gọi phương thức ref() sẽ không cho phép chương trình thoát ra.
9server.getConnections(callback)
Lấy số các kết nối đồng thời trên một Server một cách không đồng bộ. Hàm callback nên nhận hai tham số err (để Resolve lỗi) và count (để đếm).

Sự kiện của lớp net.Server trong Node.js

SttSự kiện & Mô tả
1listening
Xảy ra khi Server đã được gắn kết sau một lời gọi tới server.listen.
2connection
Xảy ra khi tạo một kết nối mới
3close
Xảy ra khi đóng Server
4error
Xảy ra khi xuất hiện bất kỳ lỗi nào. Sự kiện 'close' sẽ trực tiếp được gọi sau sự kiện này.

Lớp net.Socket trong Node.js

Đối tượng này là lớp trừu tượng của TCP hoặc Local Socket. net.Socket kế thừa duplex Stream interface. Chúng có thể được tạo bởi người dùng hoặc bởi một Client (bởi phương thức connect()) hoặc có thể được tạo bởi Node.js và được truyền tới người dùng thông qua sự kiện 'connection' của một Server.


Sự kiện của net.Socket trong Node.js

net.Socket là một eventEmitter và nó sinh các sự kiện sau.

SttSự kiện & Mô tả
1lookup
Xảy ra sau khi đã Resolve một hostname nhưng trước khi kết nối
2connect
Xảy ra khi một kết nối Socket được thiết lập thành công
3data
Xảy ra khi dữ liệu đã được nhận. Tham số data sẽ là một Buffer hoặc String. Phần mã hóa của data được thiết lập bởi socket.setEncoding().
4error
Xảy ra khi xuất hiện bất kỳ lỗi nào. Sự kiện 'close' sẽ được gọi trực tiếp sau sự kiện này.
5close
Xảy ra khi Socket đã được đóng.

Thuộc tính của net.Socket trong Node.js

net.Socket có nhiều thuộc tính hữu ích giúp bạn điều khiển tốt hơn trong việc tương tác với Socket.

SttThuộc tính & Mô tả
1socket.bufferSize
Thuộc tính này chỉ số lượng ký tự đã được đệm
2socket.remoteAddress
Biểu diễn chuỗi của địa chỉ Remote IP.
3socket.remoteFamily
Biểu diên chuỗi của Remote IP Family. Đó là 'IPv4' hoặc 'IPv6'.
4socket.remotePort
Biểu diễn dạng số của Remote Port. Ví dụ 80 hoặc 21.
5socket.localAddress
Biểu diễn chuỗi của địa chỉ Local IP mà một Remote Client kết nối tới. Ví dụ, nếu bạn đang lắng nghe trên '0.0.0.0' và Client kết nối trên '192.168.1.1', thì giá trị sẽ là '192.168.1.1'.
6socket.localPort
Biểu diễn dạng số của Local Port. Ví dụ 80 hoặc 21.
7socket.bytesRead
Số lượng byte đã nhận được.
8socket.bytesWritten
Số lượng byte đã được gửi.

Phương thức của net.Socket trong Node.js

SttPhương thức & Mô tả
1new net.Socket([options])
Xây dựng một đối tượng Socket mới.
2socket.connect(port[, host][, connectListener])
Mở kết nối cho một Socket đã cho. Nếu bạn cung cấp hai tham số port và host, thì khi đó Socket sẽ được mở dưới dạng như là một TCP Socket. Nếu bạn không cung cấp host, thì giá trị mặc định là localhost. Nếu bạn cung cấp tham số path, thì Socket sẽ đươc mở dưới dạng như một Unix Socket tới đường dẫn path đó.
3socket.connect(path[, connectListener])
Mở kết nối cho một Socket đã cho. Nếu bạn cung cấp hai tham số port và host, thì khi đó Socket sẽ được mở dưới dạng như là một TCP Socket. Nếu bạn không cung cấp host, thì giá trị mặc định là localhost. Nếu bạn cung cấp tham số path, thì Socket sẽ đươc mở dưới dạng như một Unix Socket tới đường dẫn path đó.
4socket.setEncoding([encoding])
Thiết lập mã hóa encoding cho Socket dưới dạng như một Readable Stream.
5socket.write(data[, encoding][, callback])
Gửi dữ liệu trên Socket. Tham số thứ hai xác định mã hóa trong trường hợp dữ liệu dạng chuỗi. Mã hóa mặc định là UTF8.
6socket.destroy()
Bảo đảm rằng không có bất kỳ hoạt động I/O xảy ra trên Socket này. Phương thức này chỉ cần thiết khi xuất hiện lỗi.
7socket.pause()
Tạm dừng việc đọc dữ liệu. Do đó sự kiện 'data' không được sinh
8socket.resume()
Tiếp tục việc đọc dữ liệu sau khi đã tạm dừng với phương thức pause().

Ví dụ sử dụng net Module trong Node.js

Dưới đây là ví dụ minh họa một số phương thức và thuộc tính của net Module trong Node.js.

Tạo server.js có nội dung:


var net = require('net');
var server = net.createServer(function(connection) { 
   console.log('Ket noi voi Client');
   connection.on('end', function() {
      console.log('Mat ket noi voi Client');
   });
   // gui du lieu den client
   connection.write('Hello World!\r\n');
   connection.pipe(connection);
});
server.listen(7777, function() { 
  console.log('Server dang lang nghe tren cong 7777');
});

Chạy server.js để xem kết quả:


> node server.js

Kết quả:

Net Module trong Node.js

Tiếp theo, tạo client.js như dưới đây:


var net = require('net');
var client = net.connect({port: 7777}, function() {
   console.log('Da ket noi voi Server!');  
});
client.on('data', function(data) {
   // nhan du lieu tu server
   console.log(data.toString());
   client.end();
});
client.on('end', function() { 
   console.log('Mat ket noi voi Server');
});

Chạy client.js trên một màn hình terminal khác để xem kết quả:


> node client.js

Kết quả:

Net Module trong Node.js

Kiểm tra kết quả trên màn hình Terminal đang chạy server.js:

Kết quả:

Net Module trong Node.js
Path Module trong Node.js
DNS Module trong Node.js

Recent Updates

Domain Module trong Node.jsDNS Module trong Node.jsNet Module trong Node.jsPath Module trong Node.jsOS Module trong Node.jsWeb Module trong Node.jsUtility Module trong Node.jsRestFul API trong Node.jsExpress Framework trong Node.jsĐối tượng Process trong Node.jsĐối tượng Console trong Node.jsĐối tượng Global trong Node.jsSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml