Client Server program in java

Java has many options to create distributed applications. One of them is Networking. java.net package provides platform to create distributed applications in easy way. Here, I am giving simple client server example to demonstrate java networking.
Server program :
package net;
import java.net.*;
import java.io.*;
class ServerDemo1{
public static void main(String ar[])throws Exception{
ServerSocket ss=new ServerSocket(1234);
Socket clientSocket=ss.accept();
InputStream in=clientSocket.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(in));
OutputStream out=clientSocket.getOutputStream();
while(true){
String m=br.readLine();
//if(m!=null && !(m.length()<1)){
System.out.println("Data Recieved From Client \n"+m);
//}
out.write(m.toUpperCase().getBytes());
out.write(13);
out.write(10);
out.flush();
}
}
}
Client Program :
package net;

import java.net.*;
import java.io.*;
public class ClientDemo1{
 public static void main(String ar[])throws Exception{
  Socket serverSocket=new Socket("localhost",1234);
  InputStream in=serverSocket.getInputStream();
  BufferedReader br=new BufferedReader(new InputStreamReader(in));
  OutputStream out=serverSocket.getOutputStream();
  Console c=System.console();
  while(true){
   String msg=c.readLine("Enter Message to Server and \"q\" to stop  \n");
   if(msg.equals("q"))break;
   out.write(msg.getBytes());
   out.write(13);
   out.write(10);
   String m=br.readLine();
   System.out.println(m);
   out.flush();
  }
  
 }
} 
Server program output 

 Client Program output

 

Submit data fields using java program.

In java networking you can fill the form program and send data fields to server. server will treat them as usual. Only you need to get URLConnection object from URL object and write data fields to OutputStream got through URLConnection Object.
Example :
package net;
import java.net.*;
import java.io.*;
//sending form data 
public class Net1{
 public static void main(String ar[])throws Exception{
  URL url=new URL("http://localhost:8080/networking/serv1");
  URLConnection con=url.openConnection();
  con.setDoOutput(true);
  OutputStreamWriter out=new OutputStreamWriter(con.getOutputStream());
  
  out.write("t1=abc");
  out.write("&t2=123");
  out.close();
  InputStream in= con.getInputStream();
  while(true){
   int x=in.read();
   if(x==-1)break;
   System.out.print((char)x);
  }
  
 }
}

Popular Posts