Lato Server
codice:
package server5;
import java.net.*;
import java.io.*;
public class Server {
public static void main(String[] args)
{
Socket client=null;
ServerSocket server=null;
try
{
server=new ServerSocket(11111);
}
catch(IOException e)
{
e.printStackTrace();
}
while(true)
{
System.out.println("Attesa Connessione...");
try
{
client=server.accept();
}
catch(IOException e)
{
System.out.println("connessione fallita");
System.exit(1);
}
System.out.println("Connessione da" + client);
BufferedReader is=null;
PrintStream os=null;
try
{
is=new BufferedReader(new InputStreamReader(client.getInputStream()));
BufferedOutputStream ob=new BufferedOutputStream(client.getOutputStream());
os= new PrintStream(ob,false);//per stampare il file
String n=new String(is.readLine());
System.out.println("File: "+ n);
FileInputStream file=new FileInputStream(n);
DataInputStream ifile=new DataInputStream(file);
String r=null;
while((r=ifile.readLine())!=null)
{
os.println(r);
}
os.flush();os.close();is.close();client.close();
}
catch(FileNotFoundException e)
{
System.out.println("File non trovato");
os.println("File non trovato");
os.flush();os.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}
e lato Client
codice:
package client4;
import java.io.*;
import java.net.*;
/**
*
* @author Alessandro
*/
public class Client4 {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
// TODO code application logic here
Socket s=null;
BufferedReader is=null;
PrintStream os=null;
try
{
s = new Socket("localhost",11111);
is = new BufferedReader(new InputStreamReader(s.getInputStream()));
os = new PrintStream(new BufferedOutputStream(s.getOutputStream()));
}catch(IOException e)
{
System.out.println(e.getMessage());
System.exit(1);
}
//controllo argomenti
if(args.length==0)
{
os.println("Missing name file!");
System.out.println("Manca argomento");
os.flush();os.close();
return;
}
try
{
is.close();s.close();
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
//invio messaggio
System.out.println("Sending..." + args[0]);
os.println(args[0]);os.flush();
//stampa risposta dal server
System.out.println("Attesa risposta dal server");
String line=null;
try
{
while((line=is.readLine())!=null)
{
System.out.println("Messaggio: "+ line);
}
is.close();os.close();s.close();
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
}