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?