Name:- Ayush Maroti Wadje class:-CO5I
Roll No:-76
PRACTICAL 17: WRITE A PROGRAM TO DEMONSTRATE USE
OF DATAGRAMSOCKET AND DATAGRAM PACKET
1) Write a program using DatagramPacket and DatagramSocket to create chat application
Ans:
ServerSideData.java:
import java.net.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ServerSideData
{
public static void main(String[] args) throws IOException {
DatagramSocket ds = new DatagramSocket(2019);
byte[] receiveData = new byte[512];
byte[] sendData = new byte[512];
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in)
);
System.out.println(" UDP Server Socket is created, waiting for client ");
do
{
DatagramPacket receiveDP = new DatagramPacket(receiveData,receiveData.length);
ds.receive(receiveDP);
String clientMessage = new String(receiveDP.getData(),0,receiveDP.getLength());
System.out.println("Client Message:"+clientMessage);
InetAddress ip = receiveDP.getAddress();
System.out.print("\n\nEnter Server Message:");
String serverMessage = br.readLine();
sendData = serverMessage.getBytes();
DatagramPacket sendDP = new DatagramPacket(sendData, sendData.length, ip,
receiveDP.getPort());
ds.send(sendDP);
receiveData = new byte[512];
}while(true);
}
}
ClientSideData:-
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.*;
public class ClientSideData
{
public static void main(String[] args) throws IOException {
DatagramSocket ds = new DatagramSocket();
byte[] receiveData = new byte[512];
byte[] sendData = new byte[512];
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in)
);
System.out.println(" UDP Client Socket is created, waiting for server ");
InetAddress ip = InetAddress.getLocalHost();
do
{
System.out.print("\nEnter Client Message:");
String clientMessage = br.readLine();
sendData = clientMessage.getBytes();
DatagramPacket sendDP = new DatagramPacket(sendData, sendData.length, ip, 2019);
ds.send(sendDP);
DatagramPacket receiveDP = new DatagramPacket(receiveData,receiveData.length);
ds.receive(receiveDP);
String serverMessage = new String(receiveDP.getData(),0,receiveDP.getLength());
System.out.println("\n\nServer Message:"+serverMessage);
}while(true);
}
}
Output:-
`
2) Write a program using DatagramPacket and DatagramSocket to copy the contents of one
file into other.
Ans:-
ServerFile.java: