24/05/2018, 23:13

Lớp IPEndpoint

Trong mạng, để hai trạm có thể trao đổi thông tin được với nhau thì chúng cần phải biết được địa chỉ (IP) của nhau và số hiệu cổng mà hai bên dùng để trao đổi thông tin. Lớp IPAddress mới chỉ cung cấp cho ta một vế là địa chỉ IP (IPAddress), ...

Trong mạng, để hai trạm có thể trao đổi thông tin được với nhau thì chúng cần phải biết được địa chỉ (IP) của nhau và số hiệu cổng mà hai bên dùng để trao đổi thông tin. Lớp IPAddress mới chỉ cung cấp cho ta một vế là địa chỉ IP (IPAddress), còn thiếu vế thứ hai là số hiệu cổng (Port number). Như vậy, lớp IPEndpoint chính là lớp chứa đựng cả IPAddress và Port number.

Đối tượng IPEndpoint sẽ được dùng sau này để truyền trực tiếp cho các đối tượng UDP, TCP…

Tạo một đối tượng IPEndpoint có địa chỉ là "127.0.0.1", cổng là 1000

Để tạo một IPEndpoint, ta có thể dùng 2 hàm thiết lập, trong đó có một hàm thiết lập đòi hỏi phải truyền một đối tượng IPAddress vào. Khi đó chúng ta cần phải tạo đối tượng IPAddress trước theo các cách như đã đề cập trong phần 1.

Tạo một EndPoint từ tên máy: Ta cũng có thể tạo đối tượng IPAddress từ tên của máy thông qua phương thức tĩnh DNS.GetHostAddresses của lớp DNS. Sau đó truyền đối tượng IP này vào cho phương thức khởi tạo của IPEndPoint để tạo đối tượng IPEndpoint mới.

*** Lưu ý : Vì một máy tính có thể có nhiều Card mạng (Interface) do vậy có thể có nhiều hơn 1 địa chỉ IP. Hàm GetHostAddresses sẽ trả về cho ta một mảng chứa tất cả các địa chỉ đó. Ta truyền giá trị 0 để lấy địa chỉ của Card mạng đầu tiên.

0