I am writing a proxy server using pure Java socket (no URL-related classes is allowed). Basically the proxy reads request from browser and forward to appropriate server. Then it reads response back from server and writes to browser. This is the first step. I am having troubles in getting this step to work out .
Since read/write from/to socket is byte-oriented I/O operations. So I used InputStream-derived classes (like BufferedInputStream ...) to read from browser readByteFromBrowser = new BufferedInputStream (clientSocket.getInputStream()); For writing operation I used OuputStream-derived class (like BufferedOutputStream...) to read response from server. My question is: (1) should I use InputStream/OutputStream-derived classes to deal with I/O operations? (2) My proxy works sometims ok for pure-text, and sucks on mixed content-type. I posted the code that I am running and hope someone could give me some hint. I would appreciate it.