Salve a tutti, stavo realizzando un piccolo programmino in java con un client che invia una stringa a un server multitheading. Ho riscontrato un problema nella ricezione della stringa da parte del server, vi posto prima il codice del client e poi quello del server:
Codice PHP:
public class client {      
public static 
void main(String[] args) {                  
BufferedReader br = new BufferedReader(new InputStreamReader(System.in) );         
Socket socket null;                               
System.out.println("Apertura connessione...");         
try {             
socket = new Socket("localhost",6799);         
} catch (
UnknownHostException e) {             
e.printStackTrace();                      } 
catch (
IOException e) {             
e.printStackTrace();                 }          
System.out.println("Inserisci il messaggio da inviare al server");     
// Legge l'input e lo visualizza sullo schermo         
String messaggio null;         
try {             
messaggio br.readLine();             
System.out.println("Risposta: " +messaggio);         } 
catch (
IOException e) {              
e.printStackTrace();         }         
DataOutputStream dos null;         
try {             
dos = new DataOutputStream(socket.getOutputStream());             dos.writeUTF(messaggio);         } 
catch (
IOException e1) {                         
e1.printStackTrace();         }                           
// Al termine, chiude lo stream di comunicazione e il socket.            
try {                
dos.close();             
br.close();             
socket.close();         } catch (IOException e) {                          e.printStackTrace();         }                  
System.out.println("Chiusura connessione effettuata");                      System.out.println("Attesa risposta...");               } } 
server
Codice PHP:
public class server {     
private 
int port;     
private 
ServerSocket s_socket;     
private 
Socket c_socket;

public 
server(int port){         
this.port port;         
if(!
startServer())         
System.err.println("Errore durate la creazione del Server");     }          
private 
boolean startServer()      {       
try      {        
s_socket = new ServerSocket(port);          }       
catch (
IOException ex)       {        
ex.printStackTrace();        
return 
false;       }       
System.out.println("Server creato con successo!");       
return 
true;      }          
public 
void runServer()      {       
while (
true)       {        
try        {         
// Il server resta in attesa di una richiesta         
System.out.println("Server in attesa di richieste...");         
c_socket s_socket.accept();         
System.out.println("Un client si e' connesso...");         
ParallelServer pServer = new ParallelServer(c_socket);         
Thread t = new Thread (pServer);         
t.start();        }        
catch (
IOException ex)        {        
 
ex.printStackTrace();        }       }      }          
public class 
ParallelServer implements Runnable      {       
private 
Socket c_socket;       
public 
ParallelServer (Socket c_socket)       {        
this.c_socket c_socket;       }              
public 
void run()           {            
try            { 
// Ricava lo stream di output associate al socket e definisce una classe wrapper di tipo  BufferedWriter per semplificare le operazioni di scrittura                              String input = null;                              
BufferedReader s_br = new BufferedReader(new inputStreamReader(c_socket.getInputStream()) );                                  
input s_br.readLine();
                                             
System.out.println("Received:"+input); 
s_br.close();         
Random temperatura = new Random(); 
temperatura.nextInt(41); 
if(
input.equals("PREVISIONE-TEMPERATURA"))
System.out.println("PREV-METEO-PIPPO\n temperatura prevista"+temperatura);                     
else
System.out.println("errore");                                            System.out.println("Benvenuto sul server!\n");
c_socket.close();             
System.out.println("Chiusura connessione effettuata");            }    
catch (
IOException ex)            { 
ex.printStackTrace();            } 
catch (
Exception e)            { 
e.printStackTrace();            }           }            }     

public static 
void main(String[] args) {                  
server s = new server(6799); 
s.runServer();      }  } 
Il problema che incontro è nel server quando faccio
codice:
System.out.println("Received:"+input);
in quanto sulla console mi legge il messaggio inviato dal client però con 2 caratteri speciali all'inizio:
Received: (qui ci sono i 2caratteri speciali)PREVISIONE-TEMPERATURA
Preciso che il problema non si ripete invece nel client, ossia quando stampo il messaggio nel client viene visualizzato correttamente..
Vi ringrazio in anticipo per la disponibilità.