JDK (Java Development Kit) Tutorials
Dr. Herong Yang, Version 5.00

What Is a Datagram?

This section describes what is a datagram - An independent and self-contained message sent over the network whose arrival, arrival time, and content are not guaranteed.

Datagram: An independent and self-contained message sent over the network whose arrival, arrival time, and content are not guaranteed. This definition is copied from the Sun's Java tutorial document. A datagram should at least contain the following information:

  • Address: The Internet address of the remote system.
  • Port: The port number of the remote system.
  • Data: The data contained in the datagram.

Datagram Socket: A logical concept represents the contact point on the local system of a datagram communication link.

Internet Address: A unique number to identify each computer system on the Internet.

Port: A number representing an entry point of on a computer system on the Internet, where a two-way communication link can be established.

Local System: The computer system at this end of a communication link.

Remote System: The computer system at the other end of a two-way communication link.

A datagram communication link on the Internet involves:

  • Two computer systems, each has its own Internet address.
  • A port number on each computer system that is used only by this communication link during the transmission period.
  • A program on each computer system that uses this communication link. One program must act as the receiver of the datagram, and the other program must act as the sender.
  • The receiver must create a datagram socket to represent the receiving point of the communication link.
  • The sender must create a datagram socket to represent the sending point of the communication link.

The following diagram illustrates how application programs can use datagram socket send data to another computer system through a datagram communication link on the Internet:

Computer System I                                  Computer System II

         Datagram|Address a|  Internet  |Address b|Datagram
Sender<--->Socket|Port 1   |----------->|   Port 2|Socket<--->Receiver

Last update: 2006.

Sections in This Chapter

What Is a Datagram?

Establishing a Datagram Communication Link

DatagramServer.java - A Datagram Server Application

DatagraClient.java - A Datagram Client Application

Dr. Herong Yang, updated in 2008
What Is a Datagram?