24/05/2018, 23:23

Lớp IPAddress

Trên Internet mỗi một trạm (có thể là máy tính, máy in, thiết bị …) đều có một định danh duy nhất, định danh đó thường được gọi là một địa chỉ (Address). Địa chỉ trên Internet là một tập hợp gồm 4 con số có giá trị từ 0-255 và cách ...

Trên Internet mỗi một trạm (có thể là máy tính, máy in, thiết bị …) đều có một định danh duy nhất, định danh đó thường được gọi là một địa chỉ (Address). Địa chỉ trên Internet là một tập hợp gồm 4 con số có giá trị từ 0-255 và cách nhau bởi dấu chấm.

Để thể hiện địa chỉ này, người ta có thể viết dưới các dạng sau:

  • Tên : ví dụ May01, Server, ….
  • Địa chỉ IP nhưng đặt trong một xâu: ", "127.0.0.1"
  • Đặt trong một mảng 4 byte, mỗi byte chứa một số từ 0-255. Ví dụ để biểu diễn địa chỉ 192.168.1.1 ta có thể viết:

Dim DiaChi(3) as Byte"192.168.1.1

DiaChi(0) = 192

DiaChi(1) = 168

DiaChi(2) = 1

DiaChi(3) = 1

  • Hoặc cũng có thể là một số (long), có độ dài 4 byte. Ví dụ, với địa chỉ 192.168.1.1 ở trên thì giá trị đó sẽ là: 16885952 (đây là số ở hệ thập phân khi xếp liền 4 byte ở trên lại với nhau 00000001 00000001 10101000 11000000

1 (Byte 0) 1 168 192 (Byte 3)

 Như vậy, để đổi một địa chỉ chuẩn ra dạng số ta chỉ việc tính toán cho từng thành phần. Ví dụ: Đổi địa chỉ 192.168.1.2 ra số, ta tính như sau :

2 * 256 ^ 3 + 1* 256 ^ 2 + 168 * 256 ^ 1 + 192 * 256 ^ 0

Trong MS.NET, IPAddress là một lớp dùng để mô tả địa chỉ này. Đây là lớp rất cơ bản được sử dụng khi chúng ta thao tác (truyền) vào các lớp như IPEndpoint, UDP, TCP, Socket …

  1. Tạo một địa chỉ IP (Tạo một đối tượng IPAddress) có giá trị là 16885952

00000001 00000001 10101000 11000000

  1. Tạo một địa chỉ IP từ một mảng byte tương ứng với địa chỉ 192.168.10.10
  2. Tạo một địa chỉ IP từ một xâu.
  3. Tạo một địa chỉ 192.168.1.2

  1. Kiểm tra xem 192.168.1.300 có phải là địa chỉ IP hợp lệ không ?

*** Lưu ý: Tham số thứ hai là một đối tượng bất kỳ thuộc kiểu IPAddress, do vậy bạn có thể viết New IPAddress(0), IPAddress(1),…

  1. Chuyển địa chỉ hiện hành ra mảng byte và hiển thị từng thành phần trong mảng đó

0