Sie sind auf Seite 1von 20

1: Program Time & Date Server

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import java.io.*; import java.net.*; import java.util.Date; /** * * @author ARP */ public class TimeServer { public static final int PORT = 8086; ServerSocket ss; Socket s; public void processTimeRQST()throws IOException{ ss=new ServerSocket(PORT); System.out.println("Started "+ss); try{ while(true){ s=null; s=ss.accept(); Writer out=new OutputStreamWriter(s.getOutputStream()); Date now=new Date(); out.write(now.toString()); out.flush(); s.close(); }

} catch(IOException ioe){ System.out.println("error "+ioe.toString()); } finally{ if(s!=null) s.close(); } } public static void main(String arg[])throws IOException{ TimeServer obTimeServer=new TimeServer(); obTimeServer.processTimeRQST(); } }

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import java.io.*; import java.net.*; import java.util.Date; /** * * @author ARP */ public class TimeClient { InetAddress addr; Socket socket; public void getConnetion()throws IOException { addr=InetAddress.getByName(null); System.out.println("Address "+addr); socket=new Socket(addr,TimeServer.PORT); } public void sendTimeRQST()throws IOException{ try{ InputStream ipstrm=socket.getInputStream(); StringBuffer time=new StringBuffer(); int c; while((c=ipstrm.read())!=-1) time.append((char)c); String strTime=time.toString().trim(); System.out.println("It is "+strTime+" At This System..."); } catch(IOException ioe){ System.out.println("error "+ioe.toString()); } finally{ socket.close(); } } public static void main(String arg[])throws IOException { TimeClient obTimeClient=new TimeClient(); obTimeClient.getConnetion(); obTimeClient.sendTimeRQST(); }

2. Echo Program
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import java.io.*; import java.net.*;

/** * * @author ARP */ public class EchoServer { public static final int PORT = 8086; ServerSocket ss; Socket s; public void processEchoPkt()throws IOException{ ss=new ServerSocket(PORT); System.out.println("Started "+ss); try{ s=ss.accept(); System.out.println("connection accepted "+s); BufferedReader bfr=new BufferedReader(new InputStreamReader(s.getInputStream())); PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream())),true); while(true){ String str=bfr.readLine(); if(str.equals("END")) break; System.out.println("Echoing "+str); out.println(str); } } catch(IOException ioe){ System.out.println("error "+ioe.toString()); } finally{ System.out.println("closing ..."); s.close(); }

public static void main(String arg[])throws IOException{ EchoServer obEchoServer=new EchoServer(); obEchoServer.processEchoPkt(); }

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import java.io.*; import java.net.*; /** * * @author ARP */ public class EchoClient { InetAddress addr; Socket socket; public void getConnetion()throws IOException { addr=InetAddress.getByName(null); System.out.println("Address "+addr); socket=new Socket(addr,EchoServer.PORT); } public void sendEchoPkt()throws IOException{ try{ System.out.println("Sockt "+socket); BufferedReader bfr=new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out= new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true); for(int i=0;i<10;i++) { out.println("no = "+i); String str=bfr.readLine(); System.out.println(str); } out.println("END"); } catch(IOException ioe){ System.out.println("error "+ioe.toString()); } finally{ System.out.println("closing....."); socket.close(); } } public static void main(String arg[])throws IOException { EchoClient obEchoClient=new EchoClient(); obEchoClient.getConnetion(); obEchoClient.sendEchoPkt(); } }

3. Chat Server - UDP


/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import java.io.*; import java.net.*; /** * * @author ARP */ public class ChatServer { DatagramSocket ds; DatagramPacket dpSend,dpReceived; InetAddress inetHost; BufferedReader br; public void sendNreceivePkts(){ try{ ds=new DatagramSocket(1234); inetHost=InetAddress.getByName("localhost"); br=new BufferedReader(new InputStreamReader(new DataInputStream(System.in))); while(ds!=null){ dpReceived=new DatagramPacket(new byte[100],100); ds.receive(dpReceived); System.out.println("Request from the Client"); String strRD=new String(dpReceived.getData()); System.out.println(strRD.trim()); if(strRD.equals("exit")) break; System.out.println("Response to the Client"); String strSD=br.readLine(); byte byteData[]=strSD.getBytes(); dpSend=new DatagramPacket(byteData,byteData.length,inetHost,1235); ds.send(dpSend); if(strSD.equals("exit")) break; } } catch(Exception e){ System.out.println("Error @ Server "+e.toString()); } } public static void main(String arg[])throws IOException{ ChatServer obCS=new ChatServer(); obCS.sendNreceivePkts(); } }

Chat Client
package networklab; import java.io.*; import java.net.*; public class ChatClient { DatagramSocket ds; DatagramPacket dpSend,dpReceived; InetAddress inetHost; BufferedReader br; public void sendNreceivePkts(){ try{ ds=new DatagramSocket(1235); inetHost=InetAddress.getByName("localhost"); br=new BufferedReader(new InputStreamReader(new DataInputStream(System.in))); while(ds!=null){ System.out.println("Request To The Server"); String strSD=br.readLine(); byte byteData[]=strSD.getBytes(); dpSend=new DatagramPacket(byteData,byteData.length,inetHost,1234); ds.send(dpSend); if(strSD.equals("exit")) break; dpReceived=new DatagramPacket(new byte[100],100); ds.receive(dpReceived); System.out.println("Response From the Server"); String strRD=new String(dpReceived.getData()); System.out.println(strRD.trim()); if(strRD.equals("exit")) break; } } catch(Exception e){ System.out.println("Error @ Server "+e.toString()); } } public static void main(String arg[]){ ChatClient obCC=new ChatClient(); obCC.sendNreceivePkts(); } }

4. Echo Using UDP


/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import java.net.*; public class EchoUDPServer { DatagramSocket ds; DatagramPacket dpSend,dpReceived; InetAddress inetHost; public void processPacket(){ try{ ds=new DatagramSocket(1235); inetHost=InetAddress.getByName("localhost"); while(ds!=null){ dpReceived=new DatagramPacket(new byte[50],50); ds.receive(dpReceived); String strR=new String(dpReceived.getData()); System.out.println(strR.trim()); if(strR.equals("exit")) System.exit(0); } } catch(Exception e){ System.out.println("Error @ server "+e.toString()); } } public static void main(String arg[]){ EchoUDPServer obEUS=new EchoUDPServer(); obEUS.processPacket(); } }

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import java.net.*; import java.io.*; /** * * @author ARP */ public class EchoUDPClient { DatagramSocket ds; DatagramPacket dpSend,dpReceived; InetAddress inetHost; BufferedReader br; public void processPacket(){ try{ ds=new DatagramSocket(1234); inetHost=InetAddress.getByName("localhost"); br=new BufferedReader(new InputStreamReader(new DataInputStream(System.in))); System.out.println("Message to Server"); while(ds!=null){ String strS=br.readLine(); byte byteData[]=strS.trim().getBytes(); dpSend=new DatagramPacket(byteData,byteData.length,inetHost,1235); ds.send(dpSend); if(strS.equals("exit")) break; } } catch(Exception e){ System.out.println("Error @ client "+e.toString()); } } public static void main(String arg[]){ EchoUDPClient obEUC=new EchoUDPClient(); obEUC.processPacket(); } }

5. Remote Procedure Call


/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import java.io.*; import java.rmi.*; import java.rmi.server.*; /** * * @author ARP */ public interface FileCopyIFCRPC { public String copyFile(String fn)throws RemoteException; }

SERVER
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import import import import java.io.*; java.rmi.*; java.net.*; java.rmi.server.*;

/** * * @author ARP */ public class FileCopyServerRPC extends UnicastRemoteObject implements FileCopyIFCRPC { FileCopyServerRPC() throws RemoteException{ } public String copyFile(String fn){ String data=""; try{ StringBuffer sb=new StringBuffer(); File f=new File(fn); FileInputStream fin=new FileInputStream(f); InputStreamReader isr=new InputStreamReader(fin); BufferedReader br=new BufferedReader(isr); String strS1; while((strS1=br.readLine())!=null){ sb.append(strS1); sb.append("\n");

} catch(Exception e){ System.out.println("Error @ server "+e.toString()); } return (data); } public static void main(String arg[])throws Exception{ FileCopyServerRPC obFCSRPC=new FileCopyServerRPC(); Naming.rebind("id", obFCSRPC); System.out.println("Registered File Copy with Registry"); } }

} br.close(); data=sb.toString();

CLIENT
package networklab; import java.rmi.*; import java.io.*; public class FileCopyClientRPC { String strData,strSFN,strDFN; public void getFileNames()throws Exception{ BufferedReader br=new BufferedReader(new InputStreamReader(new DataInputStream(System.in))); System.out.println("Enter the Source Filename"); strSFN=br.readLine(); System.out.println("Enter the Destination Filename"); strDFN=br.readLine(); } public void copyFile()throws Exception{ FileCopyServerRPC fcs=(FileCopyServerRPC)Naming.lookup("id"); strData=fcs.copyFile(strSFN); File f=new File(strDFN); FileOutputStream fos=new FileOutputStream(f); PrintStream ps=new PrintStream(fos); ps.println(strData); System.out.println(strDFN+" File Created"); } public static void main(String arg[])throws Exception{ FileCopyClientRPC obFCC=new FileCopyClientRPC(); obFCC.getFileNames(); obFCC.copyFile(); } }

6. Packet Capturing Server


/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import java.net.*; import java.util.*; import java.io.*; /** * * @author ARP */ public class NetInterfServer { byte pkt[]; DatagramSocket ds; DatagramPacket dp; public void capturePKT()throws IOException{ pkt=new byte[1024]; ds=new DatagramSocket(6000); dp=new DatagramPacket(pkt,pkt.length); ds.receive(dp); String strPKT=new String(dp.getData(),0,dp.getLength()); System.out.println("Packe Received: "+strPKT); } public static void main(String arg[])throws IOException{ NetInterfServer obNetIFServer=new NetInterfServer(); obNetIFServer.capturePKT(); } }

Client
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import java.net.*; import java.lang.*; import java.io.*; import java.util.*; /** * * @author ARP */ public class NetInterfClient { NetworkInterface nwif; Enumeration enumAddr; InetAddress inetAddr; DatagramSocket ds; DatagramPacket dp; DataInputStream dipstream; public void sendPKT()throws IOException{ nwif=NetworkInterface.getByName("eth"); enumAddr=nwif.getInetAddresses(); inetAddr=(InetAddress)enumAddr.nextElement(); System.out.println("Connection to :"+inetAddr); dipstream=new DataInputStream(System.in); System.out.println("Enter Packet contents..."); // int intvalue=dipstream.read(); String str="HelloWorld"; byte pkt[]=new byte[1024]; ds=new DatagramSocket(4000); pkt=str.getBytes(); dp=new DatagramPacket(pkt,str.length(),inetAddr,6000); ds.send(dp); } public static void main(String arg[])throws IOException{ NetInterfClient obNIFClient=new NetInterfClient(); obNIFClient.sendPKT(); } }

7. Selective Repeat Algorithm


/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import java.io.*; /** * * @author ARP */ public class SelectiveRepeatAlg { int intToPkt,intWinSize,intPktNo,intPCount; public SelectiveRepeatAlg()throws Exception{ BufferedReader br=new BufferedReader(new InputStreamReader(new DataInputStream(System.in))); System.out.println("Enter the Window Size"); intWinSize=Integer.parseInt(br.readLine()); System.out.println("enter Total no. of packets "); intToPkt=Integer.parseInt(br.readLine()); System.out.println("Do you want to kill any Packets: (y/n)"); String strAns=br.readLine(); if(strAns.equals("y")) System.out.println("Enter No.of Packets 2 kill"); intPCount=1; } public void sRepeat(int pn)throws Exception{ System.out.println("----------------------"); System.out.println("Selective Repeats of Packets "+pn); System.out.println("----------------------"); Thread.sleep(1000); System.out.println("Packet "+(pn)+("send==>")); Thread.sleep(1000); System.out.println("Packet "+(pn)+("received==>")); Thread.sleep(2000); System.out.println("ACK"+(pn)+" Received"); } public int calculate(int cos,int pno){ int n; if(cos>pno) n=intWinSize-(intPktNo%intWinSize); else n=intWinSize-intPktNo; } return n;

public void trans()throws Exception{ int intC,intCount=0; while(intPCount<intToPkt){

if(intCount==intWinSize){ //to be checked intcount System.out.println("Next Session"); intCount=0; } if(intPktNo==intPCount){ System.out.println("Packet "+intPCount+" discard --->"); Thread.sleep(2000); intPCount++; intC=calculate(intWinSize,intPktNo); System.out.println("Remaining Packet To be sent in th fashion "+intC); for(int j=0;j<=intC;j++){ Thread.sleep(1000); System.out.println("Packet "+intPCount+"Sent==>"); Thread.sleep(1000); System.out.println("\t\tPacket"+intPCount+" Received"); Thread.sleep(2000); System.out.println("ACK"+intPCount+" Received"); intPCount++; intCount=0; } sRepeat(intPktNo); Thread.sleep(2000); System.out.println("Next Session"); intCount=0; } else{ Thread.sleep(1000); System.out.println("Packet "+intPCount+"send==>" ); Thread.sleep(1000); System.out.println("\t\tpacket"+intPCount+"Received"); intPCount++; } intPCount++; } } public static void main(String arg[])throws Exception{ SelectiveRepeatAlg obSRA=new SelectiveRepeatAlg(); obSRA.trans(); } }

8. GoBackNProtocol
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package networklab; import java.io.*; /** * * @author ARP */ public class GoBackNProtocol { int intToPkt,intWinSize,intPktNo,intPCount; public GoBackNProtocol()throws Exception{ BufferedReader br=new BufferedReader(new InputStreamReader(new DataInputStream(System.in))); System.out.println("Enter the Window Size"); intWinSize=Integer.parseInt(br.readLine()); System.out.println("enter Total no. of packets "); intToPkt=Integer.parseInt(br.readLine()); if(intToPkt<intWinSize){ System.out.println("\t\twindow size is greater than no.of packets can't do goback\n"); System.exit(0); } System.out.println("\n\t\tdo you want to kill any packets (y/n):\t"); String strAns=br.readLine(); if(strAns.equals("y")){ System.out.println("\n\t\tenter the paket number to kill: "); intPktNo=Integer.parseInt(br.readLine()); } intPCount=1; } public int retrans(int pn,int pc,int cus)throws Exception{ int s; System.out.println("\t\t==========================="); System.out.println("\t\t\tGoBack To"+pn); System.out.println("\t\t==========================="); System.out.println("Send\t\tReceived \t\tAcknowledgement"); System.out.println("\t\t==========================="); int k=pn; int l=intToPkt-pn; if(l<cus) s=cus; else s=l; for(int m=0;m<s;m++){ Thread.sleep(1000); System.out.println("Packet"+(k)+" Send==>");

} System.out.println("-----------End-----------"); return k; } public int calculate(int cus,int pno){ int n,x=0; if(pno<cus){ n=cus-pno; } else{ n=intToPkt-pno; if(n<=cus) n=pno; //to be checked pno else n=cus-(pno%cus); } return n; }

Thread.sleep(1000); System.out.println("\t\tPacket"+(k)+"Received"); Thread.sleep(2000); System.out.println("\t\t\t\tACK"+(k)+"Received"); k++;

public void trans()throws Exception{ int intC,intCount=0; for(int i=0;i<intToPkt/intWinSize;i++){ while(intPCount<=intToPkt){ if(intCount==intWinSize){ System.out.println("\tNext Session"); intCount=0; } if(intPktNo==intPCount){ System.out.println("Packet"+intPCount+" discard==>"); Thread.sleep(2000); intPCount++; intC=calculate(intWinSize,intPktNo); System.out.println("Remaining packet to be sent in this session "+intC); System.out.println("Send\t\tReceived\t\tAcknowledgement"); System.out.println("==========\t\t========\t\t========="); for(int j=0;j<intC;j++){ Thread.sleep(1000); System.out.println("Packet "+intPCount+" send==>"); Thread.sleep(1000); System.out.println("\t\tPacket"+intPCount+" Received"); Thread.sleep(2000); System.out.println("\t\t\t\tACK"+intPCount+" Received"); intPCount++; Thread.sleep(1000); intCount=0; } intPCount=retrans(intPktNo,intPCount,intWinSize); Thread.sleep(2000); intCount=0; }

} }

else{ System.out.println("Send\t\tReceived\t\tAcknowledgement"); System.out.println("====\t\t========\t\t==============="); Thread.sleep(1000); System.out.println("Packet "+intPCount+" send==>"); Thread.sleep(1000); System.out.println("\t\tPacket "+intPCount+" Received"); Thread.sleep(2000); System.out.println("\t\t\t\tACK "+intPCount+" Received"); intPCount++; intCount=0; intCount++; }

} public static void main(String arg[])throws Exception{ GoBackNProtocol obGBNP=new GoBackNProtocol(); obGBNP.trans(); } }

9. Shortest Path First Routing


#include<stdio.h> #include<conio.h> int a[5][5],n,I,j; void main(){ void shortest(); void getData(); void display(); clrscr(); printf(\n Program to find shortest path between two nodes); getData(); shortest(); display(); getch(); } void getData(){ clrscr(); printf(\n Enter the number of host in the graph ); scanf(%d,&n); printf(\n If there is no direct path\n Assign the highest value 1000); for(i=0;i<n;i++){ a[i][j]=0; for(j=0;j<n;j++){ if(i!=j){ printf(\n Enter the distance between(%d,%d):,i+1,j+1); scanf(%d,&a[i][j]); if(a[i][j]==0) a[i][j]=1000;

} } } } void shortest(){ int I,j,k; for(k=0;k<n;k++){ for(i=0;i<n;i++){ for(j=0;j<n;j++){ if(a[i][k]+a[k][j]<a[i][j]) a[i][j]= a[i][k]+a[k][j]; } } } } void display(){ int i,j; for(i=0;i<n;i++){ for(j=0;j<n;j++){ if(i!=j) { printf(\n Shortest path is (%d,%d)-- %d,i+1,j+1,a[i][j]); } } } getch(); } 10. Simple UDP (DNS System)

#include<stdio.h> #include<error.h> #include<netdb.h> #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> int main(int argc,char *argv[1]){ struct hostent *hen; if(argc!=2){ fprintf(stderr,Enter the host name:\n; exit(1); } hen-gethostbyname(argv[1]); if(hen==NULL){ fprintf(stderr,Host Not Found \n); } printf(Host Name :%s\n,hen->h_name); printf(IP Address: %s/n,inet_ntea(*((struct in_addr *)hen->addr))); }

Das könnte Ihnen auch gefallen