import java.io.*; import java.net.*; public class Client1 { public static void main(String[] args) { BufferedOutputStream bos, out; if(args.length!=1) { System.out.println("Usage: java Client port"); System.exit(1); } try { String remotehost="localhost"; //"pet03.asc.hpc.mil"; //int port=8585; int myport=Integer.parseInt(args[0]); //int timeout=100000; int myport1 = myport+1; /* For client web browser, you need server socket */ ServerSocket server=new ServerSocket(myport); System.out.println("ServerWebB: "+server.toString()); /* For Charon Server which caputures data from Tomcat Server and sends them to all clients which connected to server */ ServerSocket server1=new ServerSocket(myport+1); System.out.println("CharonServer: "+server1.toString()); System.out.println("Can now accept connections."); //Socket acceptor=server.accept(); while(true) { System.out.println("Can now accept connections from client web browser."); Socket sender=server.accept(); System.out.println("SenderWebB: "+sender.toString()); if(sender==null) { System.out.println("Could not contact remote host"); System.exit(1); } else { System.out.println("Remote host contacted"); } BufferedReader in= new BufferedReader(new InputStreamReader(sender.getInputStream())); //PrintWriter out= //new PrintWriter(sender.getOutputStream(),true); out = new BufferedOutputStream(sender.getOutputStream()); //PrintWriter out1 = //new PrintWriter(bserver.getOutputStream(),true); BufferedReader stdin= new BufferedReader(new InputStreamReader(System.in)); String getstdin = stdin.readLine(); //String line = null; //line = in.readLine(); //int cc = in.read(); //while(cc != -1) //System.out.println(line); /* the first line should be the request */ /* StringTokenizer st = new StringTokenizer(line); String RequestType = st.nextToken(); String RequestFile = st.nextToken(); System.out.println("Request File: "+RequestFile); if(RequestFile.equals("/cyoun")) flagcont = true; */ System.out.println("Can now accept connections from Charon Server"); /* You can open another socket for getting data from Charon Server which captures data from Web Server and send them to all clients which connected to server. */ Socket server11 = server1.accept(); System.out.println("Charonserve11: "+server11.toString()); String line = null; line = in.readLine(); System.out.println(line); //BufferedReader in1 = //new BufferedReader(new // InputStreamReader(server11.getInputStream())); BufferedInputStream in1 = new BufferedInputStream(server11.getInputStream()); //boolean cont=true; int c; while((c = in1.read()) != -1){ //System.out.println("Write!!!!"); out.write(c); out.flush(); //System.out.println(c); //Get message from the xterm. //String message=stdin.readLine(); //Send the message to the server. //out.println(message); //out.flush(); //String line = null; //line = in.readLine(); //System.out.println(line); } System.out.println(c); /* line = in.readLine(); System.out.println(line); String webbrowserinit = "HTTP/1.0 200 OK \n"; webbrowserinit += "Date: Monday, 05-Feb-01 06:25:12 GMT \n"; webbrowserinit += "Server: Apache/1.3.12 (Unix) mod_ssl/2.6.5 OpenSSL/0.9.5a ApacheJServ/1.1.1 \n"; webbrowserinit += "Last-modified: Fri, 05 Jan 1997 06:25:12 GMT \n"; webbrowserinit += "ETag: \"1296501-db-32d629df\" \n"; webbrowserinit += "Accept-Ranges: bytes \n"; webbrowserinit += "Content-Length: 2310 \n"; webbrowserinit += "Connection: close \n"; webbrowserinit += "Content-type: text/html \n"; webbrowserinit += "\n"; webbrowserinit += " \n"; webbrowserinit += "...\n"; webbrowserinit += ""; System.out.println(webbrowserinit); byte[] wbinit = webbrowserinit.getBytes(); out.write(wbinit,0,wbinit.length); out.flush(); */ server11.close(); sender.close(); } //while(true) } catch(Exception ex) { ex.printStackTrace(); } } }