<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FNetwork_Protocol%2FDatagramSocket</id>
		<title>Java/Network Protocol/DatagramSocket - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FNetwork_Protocol%2FDatagramSocket"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Network_Protocol/DatagramSocket&amp;action=history"/>
		<updated>2026-04-10T14:48:09Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Network_Protocol/DatagramSocket&amp;diff=8881&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Network_Protocol/DatagramSocket&amp;diff=8881&amp;oldid=prev"/>
				<updated>2010-06-01T07:20:21Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 07:20, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Network_Protocol/DatagramSocket&amp;diff=8880&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Network_Protocol/DatagramSocket&amp;diff=8880&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Datagram Sender ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
class DatagramSender {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    InetAddress ia = InetAddress.getByName(args[0]);&lt;br /&gt;
    // Obtain destination port&lt;br /&gt;
    int port = Integer.parseInt(args[1]);&lt;br /&gt;
    // Create a datagram socket&lt;br /&gt;
    DatagramSocket ds = new DatagramSocket();&lt;br /&gt;
    // Create a datagram packet&lt;br /&gt;
    byte buffer[] = args[2].getBytes();&lt;br /&gt;
    DatagramPacket dp = new DatagramPacket(buffer, buffer.length, ia, port);&lt;br /&gt;
    ds.send(dp);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DatagramSocket receives DatagramPacket ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    DatagramSocket ds = new DatagramSocket(3000);&lt;br /&gt;
    byte[] buf = new byte[1024];&lt;br /&gt;
    DatagramPacket dp = new DatagramPacket(buf, 1024);&lt;br /&gt;
    ds.receive(dp);&lt;br /&gt;
    String strRecv = new String(dp.getData(), 0, dp.getLength()) + &amp;quot; from &amp;quot;&lt;br /&gt;
        + dp.getAddress().getHostAddress() + &amp;quot;:&amp;quot; + dp.getPort();&lt;br /&gt;
    System.out.println(strRecv);&lt;br /&gt;
    ds.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DatagramSocket sends out DatagramPacket ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    DatagramSocket ds = new DatagramSocket();&lt;br /&gt;
    String str = &amp;quot;hello world&amp;quot;;&lt;br /&gt;
    InetAddress ia = InetAddress.getByName(&amp;quot;127.0.0.1&amp;quot;);&lt;br /&gt;
    DatagramPacket dp = new DatagramPacket(str.getBytes(), str.length(), ia, 3000);&lt;br /&gt;
    ds.send(dp);&lt;br /&gt;
    ds.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joining a Multicast Group ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.MulticastSocket;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    String groupName = &amp;quot;groupName&amp;quot;;&lt;br /&gt;
    int port = 1024;&lt;br /&gt;
    MulticastSocket msocket = new MulticastSocket(port);&lt;br /&gt;
    InetAddress group = InetAddress.getByName(groupName);&lt;br /&gt;
    msocket.joinGroup(group);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Read and write with DatagramPacket ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    byte[] ary = new byte[128];&lt;br /&gt;
    DatagramPacket pack = new DatagramPacket(ary, 128);&lt;br /&gt;
    // read&lt;br /&gt;
    DatagramSocket sock = new DatagramSocket(1111);&lt;br /&gt;
    sock.receive(pack);&lt;br /&gt;
    String word = new String(pack.getData());&lt;br /&gt;
    System.out.println(&amp;quot;From: &amp;quot; + pack.getAddress() + &amp;quot; Port: &amp;quot; + pack.getPort());&lt;br /&gt;
    System.out.println(word);&lt;br /&gt;
    sock.close();&lt;br /&gt;
    // write&lt;br /&gt;
    sock = new DatagramSocket();&lt;br /&gt;
    pack.setAddress(InetAddress.getByName(args[1]));&lt;br /&gt;
    pack.setData(args[2].getBytes());&lt;br /&gt;
    pack.setPort(1111);&lt;br /&gt;
    sock.send(pack);&lt;br /&gt;
    sock.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Receive DatagramPacket ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
class Collector {&lt;br /&gt;
  private final static int BUFSIZE = 20;&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    int port = Integer.parseInt(args[0]);&lt;br /&gt;
    DatagramSocket ds = new DatagramSocket(port);&lt;br /&gt;
    while (true) {&lt;br /&gt;
      byte buffer[] = new byte[BUFSIZE];&lt;br /&gt;
      DatagramPacket dp = new DatagramPacket(buffer, buffer.length);&lt;br /&gt;
      ds.receive(dp);&lt;br /&gt;
      System.out.println(new String(dp.getData()));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Receiving a Datagram ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] inbuf = new byte[256]; // default size&lt;br /&gt;
    DatagramSocket socket = new DatagramSocket();&lt;br /&gt;
    DatagramPacket packet = new DatagramPacket(inbuf, inbuf.length);&lt;br /&gt;
    socket.receive(packet);&lt;br /&gt;
    int numBytesReceived = packet.getLength();&lt;br /&gt;
    System.out.println(numBytesReceived);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Receiving from a Multicast Group ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.MulticastSocket;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    MulticastSocket msocket = new MulticastSocket(9999);&lt;br /&gt;
    byte[] inbuf = new byte[1024];&lt;br /&gt;
    DatagramPacket packet = new DatagramPacket(inbuf, inbuf.length);&lt;br /&gt;
    msocket.receive(packet);&lt;br /&gt;
    // Data is now in inbuf&lt;br /&gt;
    int numBytesReceived = packet.getLength();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Send a Datagram ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.SocketException;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
  }&lt;br /&gt;
  public static void senddatagram(InetAddress target, int port, byte[] outbuf, int len) {&lt;br /&gt;
    try {&lt;br /&gt;
      DatagramPacket request = new DatagramPacket(outbuf, len, target, port);&lt;br /&gt;
      DatagramSocket socket = new DatagramSocket();&lt;br /&gt;
      socket.send(request);&lt;br /&gt;
    } catch (SocketException e) {&lt;br /&gt;
    } catch (IOException e) {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Send back the response in a DatagramPacket ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
public class Main {&lt;br /&gt;
  final private static int DAYTIME_PORT = 13;&lt;br /&gt;
  public static void main(String args[]) throws IOException {&lt;br /&gt;
    DatagramSocket socket = new DatagramSocket(DAYTIME_PORT);&lt;br /&gt;
    while (true) {&lt;br /&gt;
      byte buffer[] = new byte[256];&lt;br /&gt;
      DatagramPacket packet = new DatagramPacket(buffer, buffer.length);&lt;br /&gt;
      socket.receive(packet);&lt;br /&gt;
      String date = new Date().toString();&lt;br /&gt;
      buffer = date.getBytes();&lt;br /&gt;
      // Get response address/port for client from packet&lt;br /&gt;
      InetAddress address = packet.getAddress();&lt;br /&gt;
      int port = packet.getPort();&lt;br /&gt;
      packet = new DatagramPacket(buffer, buffer.length, address, port);&lt;br /&gt;
      socket.send(packet);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sending a Datagram ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    InetAddress dst = InetAddress.getLocalHost();&lt;br /&gt;
    int port = 8080;&lt;br /&gt;
    byte[] outbuf = new byte[1024];&lt;br /&gt;
    int len = 1024;&lt;br /&gt;
    DatagramPacket request = new DatagramPacket(outbuf, len, dst, port);&lt;br /&gt;
    DatagramSocket socket = new DatagramSocket();&lt;br /&gt;
    socket.send(request);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sending to a Multicast Group ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] outbuf = new byte[1024];&lt;br /&gt;
    int port = 1234;&lt;br /&gt;
    DatagramSocket socket = new DatagramSocket();&lt;br /&gt;
    InetAddress groupAddr = InetAddress.getByName(&amp;quot;8.1.2.3&amp;quot;);&lt;br /&gt;
    DatagramPacket packet = new DatagramPacket(outbuf, outbuf.length, groupAddr, port);&lt;br /&gt;
    socket.send(packet);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use DatagramSocket to send out and receive DatagramPacket ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.io.BufferedReader;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStreamReader;&lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class ChatClient {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    DatagramSocket s = new DatagramSocket();&lt;br /&gt;
    byte[] buf = new byte[1000];&lt;br /&gt;
    DatagramPacket dp = new DatagramPacket(buf, buf.length);&lt;br /&gt;
    InetAddress hostAddress = InetAddress.getByName(&amp;quot;localhost&amp;quot;);&lt;br /&gt;
    while (true) {&lt;br /&gt;
      BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));&lt;br /&gt;
      String outMessage = stdin.readLine();&lt;br /&gt;
      if (outMessage.equals(&amp;quot;bye&amp;quot;))&lt;br /&gt;
        break;&lt;br /&gt;
      String outString = &amp;quot;Client say: &amp;quot; + outMessage;&lt;br /&gt;
      buf = outString.getBytes();&lt;br /&gt;
      DatagramPacket out = new DatagramPacket(buf, buf.length, hostAddress, 9999);&lt;br /&gt;
      s.send(out);&lt;br /&gt;
      s.receive(dp);&lt;br /&gt;
      String rcvd = &amp;quot;rcvd from &amp;quot; + dp.getAddress() + &amp;quot;, &amp;quot; + dp.getPort() + &amp;quot;: &amp;quot;&lt;br /&gt;
          + new String(dp.getData(), 0, dp.getLength());&lt;br /&gt;
      System.out.println(rcvd);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
import java.io.BufferedReader;&lt;br /&gt;
import java.io.InputStreamReader;&lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
public class ChatServer {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    int PORT = 4000;&lt;br /&gt;
    byte[] buf = new byte[1000];&lt;br /&gt;
    DatagramPacket dgp = new DatagramPacket(buf, buf.length);&lt;br /&gt;
    DatagramSocket sk;&lt;br /&gt;
    sk = new DatagramSocket(PORT);&lt;br /&gt;
    System.out.println(&amp;quot;Server started&amp;quot;);&lt;br /&gt;
    while (true) {&lt;br /&gt;
      sk.receive(dgp);&lt;br /&gt;
      String rcvd = new String(dgp.getData(), 0, dgp.getLength()) + &amp;quot;, from address: &amp;quot;&lt;br /&gt;
          + dgp.getAddress() + &amp;quot;, port: &amp;quot; + dgp.getPort();&lt;br /&gt;
      System.out.println(rcvd);&lt;br /&gt;
      &lt;br /&gt;
      BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));&lt;br /&gt;
      String outMessage = stdin.readLine();&lt;br /&gt;
      buf = (&amp;quot;Server say: &amp;quot; + outMessage).getBytes();&lt;br /&gt;
      DatagramPacket out = new DatagramPacket(buf, buf.length, dgp.getAddress(), dgp.getPort());&lt;br /&gt;
      sk.send(out);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== User Datagram Protocol Programming ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.DatagramSocket;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  final private static int DAYTIME_PORT = 13;&lt;br /&gt;
  public static void main(String args[]) throws IOException {&lt;br /&gt;
    String host = args[0];&lt;br /&gt;
    byte message[] = new byte[256];&lt;br /&gt;
    InetAddress address = InetAddress.getByName(host);&lt;br /&gt;
    System.out.println(&amp;quot;Checking at: &amp;quot; + address);&lt;br /&gt;
    DatagramPacket packet = new DatagramPacket(message, message.length, address, DAYTIME_PORT);&lt;br /&gt;
    DatagramSocket socket = new DatagramSocket();&lt;br /&gt;
    socket.send(packet);&lt;br /&gt;
    packet = new DatagramPacket(message, message.length);&lt;br /&gt;
    socket.receive(packet);&lt;br /&gt;
    String time = new String(packet.getData());&lt;br /&gt;
    System.out.println(time);&lt;br /&gt;
    socket.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>