qualcuno mi sa dire cosa c'è che non và in questo codice?
dovrebbe ricevere un numero su una certa porta, poi restituire ad un ip : porta la somma parziale dei numeri ricevuti...Code:import java.net.*; import java.util.logging.*; import java.lang.*; public class ServerSomma { public static void main(String[] args) throws Exception{ Logger logger = Logger.getLogger("global"); //logger.setLevel(Level.OFF); if (args.length != 3) System.out.println("Need 3 parameter!"); else{ int myPort=Integer.parseInt(args[2]); int sum=0, num; String message; final int MAX_LEN = 10; try { InetAddress receiverHost =InetAddress.getByName(args[0]); int receiverPort = Integer.parseInt(args[1]); logger.info("Creo il socket"); DatagramSocket mySocket =new DatagramSocket(myPort); logger.info("Creo il datagram packet"); byte[] buffer = new byte[MAX_LEN]; DatagramPacket datagram=new DatagramPacket(buffer, MAX_LEN, receiverHost, receiverPort); for(int i=0;i<999;i++) { num=0; buffer= new byte[MAX_LEN]; logger.info("in attesa di ricevere..."); mySocket.receive(datagram); message=new String(buffer); message=message.trim(); num=Integer.parseInt(message); sum=sum+num; logger.info(""+sum); message=""+sum; buffer= new byte[MAX_LEN]; buffer= message.getBytes(); logger.info("invio la somma parziale"); mySocket.send(datagram); } mySocket.close(); } catch (Exception ex){ ex.printStackTrace(); } } } }
restituisce somme sballate..
qualcuno sa aiutarmi?