0

Hi,

I am trying to write a java program for a client server instant messaging system using UPD datagram. I am trying to think of how to start. Anyone has any suggestions? Please advise

Edited by peter_budo: Closing

7
Contributors
7
Replies
29
Views
12 Years
Discussion Span
Last Post by peter_budo
0

Hi !!! I built a program for msg transfer in java using udp.

//udp server
import java.net.*;
import java.io.*;
class Server
{
    public static void main(String args[])throws IOException
    {
        byte b[]=new byte[1024];
        DatagramSocket ds=new DatagramSocket(5001);
        DatagramPacket dp=new DatagramPacket(b,1024);

        //System.out.println("receiving");
        ds.receive(dp);
        String str=new String(dp.getData(),0,dp.getLength());   
        //receive file name
        System.out.println("Received file "+str);
        FileReader fr=new FileReader(str);
        BufferedReader br1=new BufferedReader(fr);
        while((str=br1.readLine())!=NULL)
        {
            b=str.getBytes();
            ds.send(new DatagramPacket(b,b.length,InetAddreass.getLocalHost(),5000));
        }
        ds.close();
    }
}   



            //udp client

import java.net.*;
import java.io.*;
class Client
{
    public static void main(String args[])throws IOException
    {
        byte b[]=new byte[1024];
        DatagramSocket ds=new DatagramSocket(5000);
        DatagramPacket dp=new DatagramPacket(b,1024);
        DataInputStream dis=new DataInputStream(System.in);
        System.out.println("Enter file name\n");
        String str1;
        str1=dis.readLine();
        b=str1.getBytes();
        ds.send(new DatagramPacket(b,b.length,InetAddress.getLocalHost(),5001));
        System.out.println("Contents of file:"+str1+"\n");
        while(str1!=NULL)
        {
            ds.receive(dp);
            str1=new String(dp.getData(),0,dp.getLength());//receive file contents
            System.out.println(str1);
        }
        ds.close();
    }
}

Edited by mike_2000_17: Fixed formatting

0

@ashu_305 congratulation on your program, just shame you are about 4 year too late...

PS: Next step in your messaging service would be perhaps some GUI and use of threads. Good luck

0

str1=new String(data,0,data.Length()) why the zero is used in the string function please explain me the what this line says???