From b19088e8bb19efbf8c77d3db4de64ef3eefd3a4b Mon Sep 17 00:00:00 2001 From: adash Date: Sat, 28 Oct 2006 01:34:40 +0000 Subject: [PATCH] Added sendfile and loggin through webserver --- Robust/src/Tests/WebServerExample.java | 6 ++-- Robust/src/Tests/WebServerSocket.java | 45 +++++++++++++++----------- 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/Robust/src/Tests/WebServerExample.java b/Robust/src/Tests/WebServerExample.java index d4f14009..471ce6a3 100644 --- a/Robust/src/Tests/WebServerExample.java +++ b/Robust/src/Tests/WebServerExample.java @@ -21,9 +21,11 @@ task AcceptConnection(ServerSocket ss{SocketPending}) { /* Send a Write Request to Client*/ task WriteIO(WebServerSocket web{WritePending}) { - System.printString("W> Before doing WriteIO 0\n"); + System.printString("W> Before sending response\n"); web.httpresponse(); - System.printString("W> After doing WriteIO\n"); + System.printString("W> After sending response\n"); + web.sendfile(); + System.printString("W> After sending file\n"); web.close(); taskexit(web {!WritePending}); } diff --git a/Robust/src/Tests/WebServerSocket.java b/Robust/src/Tests/WebServerSocket.java index 716cdcf9..90ff4dff 100644 --- a/Robust/src/Tests/WebServerSocket.java +++ b/Robust/src/Tests/WebServerSocket.java @@ -2,12 +2,11 @@ public class WebServerSocket extends Socket { // Websocket flag flag ReadPending; flag WritePending; - //File Descriptor - int fd; - + //Constructor public WebServerSocket(){ - + Logger log = new Logger(); + log.logrequest(); } public void datawrite(){ @@ -24,30 +23,38 @@ public class WebServerSocket extends Socket { b[9] =(byte)'T'; write(b); } - + + //Send the http header for web browser display public void httpresponse(){ - StringBuffer header = new StringBuffer("HTTP/1.0 200 OK\n"); StringBuffer htmlBuffer = new StringBuffer("\n"); header.append("Content-type: text/html\n"); - header.append("Content-length: 88"); header.append("\n\n"); - - - htmlBuffer.append("\nTest HTML Document\n"); - htmlBuffer.append(" \n"); - htmlBuffer.append(" \n"); - htmlBuffer.append(" \n"); - htmlBuffer.append("

This is your java web server's default page.

"); - htmlBuffer.append(" \n"); - htmlBuffer.append("\n"); - - header.append(htmlBuffer.toString()); - String temp_str = new String(header); write(temp_str.getBytes()); return; + + } + + //Send the html file , read from file one byte at a time + public void sendfile() { + String filepath = new String("./Tests/htmlfiles/index2.html"); + FileInputStream def_file = new FileInputStream(filepath); + byte buf[] = new byte[16]; + int ret; + + while ((ret = def_file.read(buf)) > 0) { + byte tosend[] = new byte[ret]; + for (int i = 0; i < ret; i++) { + tosend[i] = buf[i]; + } + write(tosend); + String str = new String(tosend); + } + def_file.close(); } + + } -- 2.34.1