× ABOUT DOWNLOADS PROJECTS WORK
    cyberpunk.sh
Profile photo

PREMCHAND CHAKKUNGAL

SENIOR SOFTWARE ENGINEER

    CLIENT SERVER CHAT IN UDP USING JAVA

Unlike my prevoius post, this is an implementation of Client-Server chat in UDP. UDP is another Transport Layer Protocol. Similar to TCP program , this program also requires it’s server program to be executed first followed by the client program.

udpserver.java

  
import java.io.*;  
import java.net.*;  
class udpserver  
{
    public static void main(String args[])throws Exception
    {
        System.out.println("Server started....n");
        try
        {
            DatagramSocket server_socket=new DatagramSocket(1234);
            BufferedReader server_input=new BufferedReader(new InputStreamReader(System.in));
            byte in_data[]=new byte[1024];
            byte out_data[]=new byte[1024];
            while(true)
            {
                DatagramPacket Packet2=new DatagramPacket(in_data,in_data.length);
                server_socket.receive(Packet2);
                String client_str=new String(Packet2.getData());
                System.out.println("Client:"+client_str+'n');
                InetAddress IP_Add=Packet2.getAddress();
                int port=Packet2.getPort();
                String server_str;
                System.out.println("Enter message:");
                server_str=server_input.readLine();
                out_data=server_str.getBytes();
                DatagramPacket Packet3=new DatagramPacket(out_data,out_data.length,IP_Add,port);
                server_socket.send(Packet3);
            }
        }
        catch (Exception e)
        {
            System.out.println("Error:"+e.getMessage());
        }
    }
}

udpclient.java


import java.io.*;
import java.net.*;
class udpclient
{
    public static void main(String args[])throws Exception
    {
        System.out.println("Client started....n");
        try
        {
            DatagramSocket client_socket=new DatagramSocket(12345);
            BufferedReader client_input=new BufferedReader(new InputStreamReader(System.in));
            InetAddress IP_Add=InetAddress.getByName("localhost");
            int port=1234;
            byte in_data[]=new byte[1024];
            byte out_data[]=new byte[1024];
            while(true)
            {
                String client_str;
                System.out.println("Enter message:");
                client_str=client_input.readLine();
                out_data=client_str.getBytes();
                DatagramPacket Packet1=new DatagramPacket(out_data,out_data.length,IP_Add,port);
                client_socket.send(Packet1);
                DatagramPacket Packet4=new DatagramPacket(in_data,in_data.length);
                client_socket.receive(Packet4);
                String server_str=new String(Packet4.getData());
                System.out.println("Client:"+server_str+'n');

            }
        }
        catch (Exception e)
        {
            System.out.println("Error:"+e.getMessage());
        }
    }
}