Salve ragazzi come già detto sopra ho un problema a far connettere un server ed un client su due pc differenti.
Client...
import java.io.*;
import java.net.*;
import java.util.*;
public class Client {
Socket socket;
String msg;
Client() throws UnknownHostException, IOException, ClassNotFoundException{
try{socket=new Socket("localhost",3000);
// InetSocketAddress indirizzo= new InetSocketAddress("",300);
// socket.connect(indirizzo);
}
catch(IOException ex){}
invia(); /*ricevi();*/
}
public void ricevi() throws IOException, ClassNotFoundException{
File salva = new File ("C:/Users/Lorenzo/Desktop/Nuova cartella/Prova.pdf");
FileOutputStream fos = new FileOutputStream(salva);
InputStream is = socket.getInputStream();
byte[] buf = new byte[is.available()];
int p = 0;
while((p=is.read(buf))!=-1) {
fos.write(buf);
}
}
public void invia() throws IOException{
ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());
Scanner lettore= new Scanner(System.in);
for(;;){
String msg=lettore.nextLine();
out.writeObject(msg);
}
}
public static void main(String[] args) throws UnknownHostException, IOException, ClassNotFoundException {
Client client = new Client();
}
}
Server...
public class Server {
Socket socket;
ServerSocket sockets;
ObjectInputStream in;
String msg;
ServerSocketChannel socketChannel;
Server()throws IOException, ClassNotFoundException{
try{
sockets= new ServerSocket(3000);
socket=sockets.accept();
}
catch(IOException ex){}
ricevi();/*invia();*/
}
public void invia() throws IOException{
File invia = new File("C:/Users/Lorenzo/Desktop/NonBlockingSocket.pdf");
ObjectOutputStream o = new ObjectOutputStream(socket.getOutputStream());
FileInputStream is = new FileInputStream(invia);
//in questo modo dovrei sapere la dimensione del file da spedire e creare un
//array di byte di tale dimensione, leggo i dati e li scrivo nella socket
Object i=0;
byte[] dati = new byte[is.available()];
while((i=is.read(dati))!=-1){o.writeObject(dati);}
}
public void ricevi() throws IOException, ClassNotFoundException{
in= new ObjectInputStream(socket.getInputStream());
do{
msg = (String)in.readObject();
System.out.println(msg);
}while(!msg.contains("Bye"));
}
public static void main(String[] args) throws IOException, ClassNotFoundException {
new Server();
}
}
Ringrazio in anticipo tutti coloro che mi risponderanno.
ps: l'altro computer dove risiede il Server si trova sulla stessa rete del client e uso per connettermi ad internet il router wi-fi della tre(WebCube),quando cerco di connettermi mi da il seguente errore:"java.lang.NullPointerException".
Grazie ancora a tutti