codice:
import java.io.*;
import java.net.*;
public class ContaParoleServer extends Thread{
Socket client;
public ContaParoleServer(Socket client){
this.client=client;
}
public static void main(String[] args) throws Exception{
ServerSocket server;
try{
server= new ServerSocket(2000);
System.out.println("Server attivato");
}catch(Exception e){
System.out.println("Errore:impossibile aprire il servizio sulla porta specificata");
System.out.println("Controllare che la porta non sia già impegnata da un altro servizio");
throw e;
}
try{
while(true){
Socket sock=server.accept();
Thread tr=new ContaParoleServer(sock);
tr.start();
}
}catch(IOException e){
System.out.println("Warning:Errore di I/O occorso");
}
}
public void run(){
InputStreamReader in=null;
OutputStreamWriter out=null;
try{
in=new InputStreamReader (client.getInputStream(),"latin1");
out=new OutputStreamWriter(client.getOutputStream(),"latin1");
InetAddress clientAddr=client.getInetAddress();
out.write("\n\rSei connesso:inserisci una frase terminata da %\n\r");
out.flush();
int numParole=0;
String str="";
String maxStr=null;
int c=0;
while(c!= '%' && (c=in.read())!=-1){
if(c=='%' || c==' '){
if(maxStr==null || str.length()>maxStr.length())
maxStr=str;
str="";
numParole++;
}
else
str=str + (char)c;
}
if(c==-1)
throw new IOException();
out.write("\n\rNumero delle parole= " + numParole + "\r\n");
out.write("Parola di lunghezza massima= " + maxStr + "\r\n");
out.write("Numero di caratteri di questa parola = " + maxStr.length());
out.flush();
out.close();
}catch(IOException e){
System.out.println("Errore di I/O con il client corrente");
}
finally{
System.out.println("Connessione con il client chiusa");
}
}
}
Compilo il seguente programma ed è ok ma quando cerco di avviarlo mi dice:
Impossibile trovare il percorso specificato
Server attivato
e non va più avanti..Chi mi saprebbe dare una mano ? Vi ringrazio