Linked list program using TCP Socket & Client Server

Write a Linked list program using TCP Socket & Client Server Server Side: import java.net.*; import java.io.*; import java.util.*; class node { int data; node next; node() { next=null; } void setNext(node nxt) { next=nxt; } node getNext() { return next; } void setData(int d) { data=d; } int getData() { return data; } } class llist { node head,tail; llist() { head=null; tail=null; } void insert(int d) { node tmp=new node(); tmp.setData(d); if(head==null) head=tail=tmp; else { tail.setNext(tmp); tail=tmp; } } void delete() { node tmp; tmp=head; if(head==tail) head=tail=null; else { while(tmp.getNext()!=tail) tmp=tmp.getNext(); tmp.setNext(null); tail=tmp; } } String display() { node tmp; String temp=""; tmp=head; while(tmp!=null) { temp=temp+" "+tmp.getData(); tmp=tmp.getNext(); } return temp; } } public class Server { public static void main(String arr[]) throws Exception { llist ls=new llist(); ServerSocket ss=new ServerSocket(12345); Socket s=ss.accept(); DataInputStream din=new DataInputStream(s.getInputStream()); DataOutputStream dout=new DataOutputStream(s.getOutputStream()); boolean val=true; while(val) { String str=din.readUTF(); int ch=Integer.parseInt(str); switch(ch) { case 1: int t=Integer.parseInt(din.readUTF()); ls.insert(t); break; case 2: ls.delete(); break; case 3: String tmp=ls.display(); dout.writeUTF("Current List: "+tmp); dout.flush(); break; case 4: val=false; break; } } } } Client Side: import java.net.*; import java.io.*; import java.util.*; public class Client { public static void main(String arr[]) throws Exception { Socket s=new Socket("localhost",12345); DataInputStream din=new DataInputStream(s.getInputStream()); DataOutputStream dout=new DataOutputStream(s.getOutputStream()); Scanner sc=new Scanner(System.in); boolean val=true; while(val) { System.out.print("\n\nLINKED LIST Implementation \n1.Insert \n2.Delete\ n3.Display \n4.Exit \n\nYour choice: "); int ch=sc.nextInt(); dout.writeUTF(""+ch); dout.flush(); switch(ch) { case 1: System.out.print("\nData to be inserted: "); int t=sc.nextInt(); dout.writeUTF(""+t); dout.flush(); break; case 2: break; case 3: String tmp=din.readUTF(); System.out.println("\n"+tmp); break; case 4: val=false; break; } } } }

Share:

0 comments