Salve a tutti,
ho creato in pratica un programma che permette di controllare le connessioni degli utenti attraverso l'IP, è un semplice tramite. Client -> Mio programma -> Server. In pratica quando il client che sarebbe il browser invia gli header al server, il server li intrerpreta correttamente ma quando il mio programma li rinvia al browser Mozilla Firefox (Su ie funziona anche se le immagini si vedono maluccio) restiuisce tutto testualmente :
codice:
HTTP/1.1 200 OK
Date: Wed, 29 Jul 2009 12:20:30 GMT
Server: Apache/2.2.11 (Win32) PHP/5.2.8
Content-Length: 1437
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html;charset=UTF-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /</title>
</head>
<body>
<h1>Index of /</h1>
<table><tr><th>[img]/icons/blank.gif[/img]</th><th>Name</th><th>Last modified</th><th>Size</th><th>Description</th></tr><tr><th colspan="5"><hr></th></tr>
<tr><td valign="top">[img]/icons/folder.gif[/img]</td><td>AntiDos/ </td><td align="right">28-Jul-2009 18:50 </td><td align="right"> - </td></tr>
<tr><td valign="top">[img]/icons/folder.gif[/img]</td><td>articoli/ </td><td align="right">06-Jul-2009 14:42 </td><td align="right"> - </td></tr>
<tr><td valign="top">[img]/icons/folder.gif[/img]</td><td>img/ </td><td align="right">17-Jul-2009 15:56 </td><td align="right"> - </td></tr>
<tr><td valign="top">[img]/icons/folder.gif[/img]</td><td>never/ </td><td align="right">17-Jul-2009 15:57 </td><td align="right"> - </td></tr>
<tr><td valign="top">[img]/icons/folder.gif[/img]</td><td>zerosaved/ </td><td align="right">25-Jul-2009 12:23 </td><td align="right"> - </td></tr>
<tr><th colspan="5"><hr></th></tr>
</table>
</body></html>
E il codice che rinvia tutto è un semplice thread:
codice:
public class Ricevi implements Runnable{
private Socket ServerR;
private Socket client;
private int number;
public Ricevi(Socket client_r, Socket server_r, int numero){
client = client_r;
ServerR = server_r;
number = numero;
}
public void run(){
try{
BufferedReader iStreamR = new BufferedReader(new InputStreamReader(ServerR.getInputStream()));
while(true){
String lineR = iStreamR.readLine();
if(lineR == null){
client.close();
ServerR.close();
break;
}else{
oStream[number].println(lineR);
}
}
}catch(Exception error){
System.out.println("$ - Errore nel sotto Thread, Questo errore può essere causato dall'utente che si è disconnesso\n Errore: "+error.getMessage());
try{
client.close();
ServerR.close();
}catch(Exception errore){
System.out.println(" $ - Impossibile chiudere connessione? Probabilmente la connessione è già stat chiusa\n"+errore.getMessage());
}
}
}//Funzione
}
Questo codice funziona con server che non sono Web Server sulla 80. Vi prego aiutatemi datemi qualche consiglio non so cosa fare..