Ciao a tutti.
Non capisco perchè ricevo un eccezione del tipo java.lang.NullPointerException mentre interagisco con dei DatagramSocket.
Praticamente ricevo dei parametri ed invio un pacchetto :
codice:
public void run(){
try{
while(true){
InputStream in = s.getInputStream();
byte [] richiestaByte = new byte [1000];
int numByte = in.read(richiestaByte);
richiestaByte = Arrays.copyOf(richiestaByte , numByte);
String richiesta = new String(decipher.doFinal(richiestaByte));
int pos = richiesta.indexOf("@");
String ip = richiesta.substring(0,pos);
String messaggio = richiesta.substring(pos+1);
in.close();
byte [] buf = cipher.doFinal(messaggio.getBytes());
InetAddress clientAdd = InetAddress.getByName(ip);
DatagramPacket packet = new DatagramPacket(buf , buf.length , clientAdd , UDPPort);
dSocket.send(packet);
}
}catch(Exception err){
err.printStackTrace();
}
}
La parte che riceve il pacchetto è fatta cosi :
codice:
public void run(){
try{
while(true){
byte [] buf = new byte [1000];
DatagramPacket packet = new DatagramPacket(buf , buf.length);
dSocket.receive(packet);
String messaggio = new String(decipher.doFinal(packet.getData()));
System.out.println(messaggio);
}
}catch(Exception err){
err.printStackTrace();
}
}
L'eccezione che ricevo riguarda la riga dove si invia il pacchetto.
codice:
dSocket.send(packet);
Dove posso aver sbagliato?