Part 7: UDP in JAVA


1 – Datagram là gì ?

Một Datagram gọi là một thộng điệp khép kín một cách độc lập chúng được gửi qua mạng, thời gian đến và thứ tự nội dung thì không được đảm bảo.

ServerSocket va Socket thì được sữ dụng để thiết lập một giáo tiếp đáng tin cậy mà các dữ liệu được truyền tải từ đầu này và kết thúc ở 1 đầu khác.

Những gói Datagram thì được sữ dụng để  áp dụng cho một gói dịch vụ cung cấp kết nối. Mổi tin nhắn thì được chuyển đi dựa trên các thông tin chứa trong các gói đó. Nhiều gói tin được gửi từ máy tính này đến máy tính khác có thể được chuyển bằng những cách khác nhau , và có thể đến theo thứ tự bất kì không theo 1 thứ tự nhất định nào hết. Các gói tin được cung cấp bởi datagram thì không được đảm bảo.

Cách tạo 1 Datagram Packet.

Gói java.net cung cấp 1 lớp DatagramPacket để tạo ra 1 datagram packet. Mổi DatagramPacket có một vài constructor. 2 constructor thông dụng nhứt là

DatagramPacket( byte[] ,  int )

DatagramPacket( byte[] , int, InetAddress, int )

4 chi tiết chính cần nhớ là

  • buf
  • length
  • address
  • port

Constructor sẻ nhận dữ liệu vào bộ đệm theo một độ dài nhứt định. Kích thước của dữ liệu được nhận nên ít hơn hoặc bằng với độ dài bộ đệm.

Cách tạo 1 Datagram Socket

Lớp DatagramSocket  thì đại diện cho một Socket cho việc gửi và nhận các gói tin. Mổi gói dữ liệu được gửi hoặc được nhận trên một DatagramSocket is được xử lí riêng biệt và chuyển đi. Constructor được dùng là

DatagramSocket( int )

DatagramSocket (port, InetAddress )

Cách sử dụng Datagram Socket

Mỗi một thể hiện của DatagramSocket thì được tạo ta nó có thể được sữ dụng để gửi và nhận dữ liệu bằng cách sữ dụng các gói tin. datagramSocket có các phương thức gửi nhận là

void send( DatagramPacket p )

void receive (DatagramPacket p)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: