10. Write a program on datagram socket for client/server to display
the messages on client side, typed at the
server side.
A datagram socket is the one for sending or receiving point for a packet delivery service. Each packet sent or received on a datagram socket is individually addressed and routed. Multiple packets sent from one machine to another
may be routed
differently, and may arrive
in any order.
Udps.java
package
udps;
import
java.util.Scanner;
import
java.net.*;
import
java.io.*;
public class
Udps {
public static void main(String[] args) {
DatagramSocket skt = null;
String ch;
Scanner input = new Scanner(System.in);
try {
skt = new DatagramSocket(6788);
byte[] buffer = new
byte[1000];
while (true) {
DatagramPacket request = new
DatagramPacket(buffer, buffer.length);
skt.receive(request);
System.out.print("enter the data: ");
ch = input.nextLine();
byte[] sendMsg = (ch + "
-> server processed").getBytes();
DatagramPacket reply = new
DatagramPacket(sendMsg, sendMsg.length, request.getAddress(),
request.getPort());
skt.send(reply);
}
} catch (Exception ex) {
}
}
}
Udpc.java
package
udpc;
import
java.util.Scanner;
import
java.net.*;
import
java.io.*;
public class
Udpc {
public static void main(String[] args) {
DatagramSocket skt;
try {
skt = new DatagramSocket();
String msg = "text
message";
byte[] b = msg.getBytes();
InetAddress host =
InetAddress.getByName("127.0.0.1");
int serverSocket = 6788;
DatagramPacket request = new
DatagramPacket(b, b.length, host, serverSocket);
skt.send(request);
byte[] buffer = new byte[1000];
DatagramPacket reply = new
DatagramPacket(buffer, buffer.length);
skt.receive(reply);
System.out.println("Client
received: " + new String(reply.getData()));
skt.close();
} catch (Exception ex) {
}
}
}
No comments:
Post a Comment