Client and server data transfer
server side code
import java.io.*;
import java.net.*;
import java.sql.*;
publicclass Server{
publicstaticvoid main (String args[]){
Input in;
Output out;
Socket socket;
ServerSocket serverSocket;
Statement stmt =null;
Connection conn =null;
try{
// setup server socket to listen on port 10000
serverSocket =new ServerSocket (10000);
socket = serverSocket.accept ();
in =new Input (socket.getInputStream());
out =new Output (socket.getOutputStream());
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection ("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=D:/java/db.mdb");
stmt = conn.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
in.start ();
out.start ();
}
catch (Exception ex){
System.err.println (ex.getMessage());
}
}
}
class Inputextends Thread{
String tmpData;
BufferedReader br;
Input (InputStream in){
br =new BufferedReader (new InputStreamReader (in));
tmpData ="";
}
publicvoid run (){
try{
while ((tmpData = br.readLine ()) !=null){
System.out.println ("[REMOTE] " + tmpData);
}
}
catch (Exception ex){
System.err.println ("ERROR: " + ex.getMessage ());
}
}
publicvoid close (){
try{
br.close ();
}
catch (Exception ex){
System.err.println ("ERROR: " + ex.getMessage ());
}
}
}
class Outputextends Thread{
String tmpData;
BufferedReader br;
PrintStream ps;
Output (OutputStream out){
ps =new PrintStream (out);
br =new BufferedReader (new InputStreamReader (System.in));
}
publicvoid run (){
try{
while ((tmpData = br.readLine ()) !=null){
ps.println (tmpData);
ps.flush ();
if (tmpData.equalsIgnoreCase ("exit")){
System.exit (0);
}
}
}
catch (Exception ex){
System.err.println ("ERROR: " + ex.getMessage());
}
}
publicvoid close (){
try{
ps.close ();
br.close ();
}
catch (Exception ex){
System.err.println ("ERROR: " + ex.getMessage());
}
}
}
Client Side code
import java.io.*;
import java.net.*;
publicclass Client{
publicstaticvoid main(String args[]){
Input in;
Output out;
Socket socket;
PrintStream ps;
int userChoice = 0;
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
do{
try{
socket =new Socket("localhost", 10000);
out =new Output(socket.getOutputStream());
}catch (UnknownHostException e){
System.out.println("Cannot Find The Server");
System.exit(1);
}catch (IOException e){
System.out.println("No I/O");
System.exit(1);
}
System.out.println("1 - Add Contact");
System.out.println("2 - View Contact");
System.out.println("3 - Exit");
System.out.print("Option: ");
userChoice = Integer.parseInt(br.readLine());
if (userChoice == 1){
String strName, strCourse, tmp;
try{
System.out.print("Enter name: ");
strName = br.readLine();
System.out.print("Enter course: ");
strCourse = br.readLine();
tmp = ("INSERT INTO [Students]([Name],[Course]) VALUES ('"+strName+"', '"+strCourse+"')");
ps =new PrintStream(out);
ps.println(tmp);
ps.flush();
ps.close();
}
catch (Exception ex){
System.err.printf("ERROR: " + ex.getMessage());
}
}elseif (userChoice == 2){
}elseif (userChoice != 3){
System.out.println("ERROR: Invalid Choice.");
}
System.out.println();
}while (userChoice != 3);
}//main close
}//client close

