Simultaneous Transfer Between Server & Client


Socket Programming:

 Simultaneous Transfer Between Server & Client


Server End:

import java.net.*;
import java.util.*;
import java.io.*;


public class Server
{
 public static void main(String arr[]) throws Exception
 {
 ServerSocket ss=new ServerSocket(12345);
 Socket s=ss.accept();
 Scanner sc=new Scanner(System.in);
 DataInputStream din=new DataInputStream(s.getInputStream());
 DataOutputStream dout=new DataOutputStream(s.getOutputStream());
 boolean val=true; 

 while(val)
  {
  System.out.print("Enter text: ");
  String str=sc.nextLine();
  dout.writeUTF(str);
  dout.flush();
  if(str.equals("end"))
   break; 
  str=din.readUTF();
  if(str.equals("end"))
   break;
  System.out.println("From Client: "+str);
  }

 din.close();
 dout.close();
 s.close();
 ss.close();
 }
}



Client End:

import java.net.*;
import java.util.*;
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());
 boolean val=true;
 Scanner sc=new Scanner(System.in);
 while(val)
  {
  String str=din.readUTF();
  if(str.equals("end"))
   break;
  System.out.print("From Server: "+str+"\nEnter text: ");
  str=sc.nextLine(); 
  dout.writeUTF(str);
  dout.flush(); 
  if(str.equals("end"))
   break;
  }
 
 din.close();
 dout.close();
 s.close();
 }
}


Output:


Client end:

$ javac Client.java
$ java Client
From Server: Hello
Enter text: Hi
From Server: Wassup
Enter text: end
$ 



Server End:

$ javac Server.java
$ java Server
Enter text: Hello
From Client: Hi
Enter text: Wassup
$ 


Share:

0 comments