During my Network and OS lab i have did this program, Anyway we have to do in Java but i wrote in python too,
here is in java
here is in java
//UDPServer.java
import java.net.*;
import java.io.*;
class UDPServer
{
public static void main(String args[]) throws Exception
{
byte[] receive_data = new byte[1024];
byte[] send_data = new byte[1024];
int recv_port;
DatagramSocket server_socket = new DatagramSocket(5000);
System.out.println ("UDPServer Waiting for client on port 5000");
while(true)
{
DatagramPacket receive_packet = new DatagramPacket(receive_data,
receive_data.length);
server_socket.receive(receive_packet);
String data = new String(receive_packet.getData(),0 ,0
,receive_packet.getLength());
InetAddress IPAddress = receive_packet.getAddress();
recv_port = receive_packet.getPort();
if (data.equals("q") || data.equals("Q"))
break;
else
System.out.println("( " + IPAddress + " , " + recv_port
+ " ) said :" + data );
}
}
}//UDPClient.java import java.net.*; import java.io.*; class UDPClient { public static void main(String args[]) throws Exception { byte[] send_data = new byte[1024]; BufferedReader infromuser = new BufferedReader(new InputStreamReader(System.in)); DatagramSocket client_socket = new DatagramSocket(); InetAddress IPAddress = InetAddress.getByName("127.0.0.1"); while (true) { System.out.println("Type Something (q or Q to quit): "); String data = infromuser.readLine(); if (data.equals("q") || data.equals("Q")) break; else { send_data = data.getBytes(); DatagramPacket send_packet = new DatagramPacket(send_data, send_data.length, IPAddress, 5000); client_socket.send(send_packet); } } client_socket.close(); } }In Python# UDP server example import socket server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) server_socket.bind(("", 5000)) print"UDPServer Waiting for client on port 5000" while 1: data, address = server_socket.recvfrom(256) print "( " ,address[0], " " , address[1] , " ) said : ", data# UDP client example import socket client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) while 1: data = raw_input("Type something(q or Q to exit): ") if (data <> 'q' and data <> 'Q'): client_socket.sendto(data, ("localhost",5000)) else: break client_socket.close()NOTE:Connectionless Server and Client program
No comments:
Post a Comment