From 867a151416507b15dde03e22517375f723b0f85c Mon Sep 17 00:00:00 2001 From: Simo Vuorinen <smavuor@utu.fi> Date: Sun, 18 Feb 2018 17:23:36 +0200 Subject: [PATCH] =?UTF-8?q?Delete=20Pls=20hj=C3=A4lp!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "Pls hj\303\244lp!" | 196 -------------------------------------------- 1 file changed, 196 deletions(-) delete mode 100644 "Pls hj\303\244lp!" diff --git "a/Pls hj\303\244lp!" "b/Pls hj\303\244lp!" deleted file mode 100644 index 3650221..0000000 --- "a/Pls hj\303\244lp!" +++ /dev/null @@ -1,196 +0,0 @@ -import java.io.IOException; -import java.io.InputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.OutputStream; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.net.ServerSocket; -import java.net.Socket; -import java.net.SocketException; -import java.util.ArrayList; -import java.util.Collections; - - -public class UdpSender extends Thread { - - public static void main(String[] args) throws Exception { - - Socket tcpsocket = UDPReceiver(); - // Muodostetaan oliovirrat - ObjectInputStream inpStream = new ObjectInputStream(tcpsocket.getInputStream()); - ObjectOutputStream outpStream = new ObjectOutputStream(tcpsocket.getOutputStream()); - //Lue - asettaa timeoutin. - tcpsocket.setSoTimeout(50000); - int t= lue(inpStream, outpStream); - int[] potnumbers =new int[t]; - int l = 0; - ArrayList<Integer> vastaanotetutsummat = new ArrayList<Integer>(); - ArrayList<Socket> sok = new ArrayList<Socket>(); - boolean yhteys=true; - int f= 0; - - if (t == -1) { - return; - } else { - for (int h = 0; h < t; h++ ) { - try{ - int p = 1234+h; - potnumbers[h]=p; - outpStream.writeInt(potnumbers[h]); - outpStream.flush(); - - } catch (Exception e) { - System.out.print("moi"); - return; - } - } - } - - - - for (int i = 0; i<t; i++) { - int p = 1234+i; - ServerSocket plib = new ServerSocket(p); - plib.setSoTimeout(5000); - Socket so = new Socket(); - so = plib.accept(); - sok.add(i, so); - System.out.println(sok); - plib.setSoTimeout(5000); - plib.close(); - } - for (int r = 0; r<t; r++) { - LaskeLuvut laskuri= new LaskeLuvut(vastaanotetutsummat, r, sok); - laskuri.run(); - } - - - - - while(yhteys){ - System.out.println(inpStream.readInt()); - f=inpStream.readInt(); - if (f==1){ - int sum=0; - for (int j=0; j<vastaanotetutsummat.size(); j++) { - sum=sum+vastaanotetutsummat.get(j);} - System.out.println(sum+"!"); - outpStream.writeInt(sum); - }else if (f==2){ - Collections.sort(vastaanotetutsummat); - outpStream.writeInt(vastaanotetutsummat.get(vastaanotetutsummat.size()-1)); - }else if (f==3) { - outpStream.writeInt(l); - }else if (f==0) { - yhteys=false; - } - } - } - - - public static class LaskeLuvut{ - private int r; - int l=0; - //private ArrayList<Integer> vastaanotetutsummat; - private int z=0; - - ArrayList<Socket> sok ; - boolean c; - ArrayList<Integer> vastaanotetutsummat; - private Socket soketti; - - LaskeLuvut(ArrayList<Integer> vastaanotetutsummat, int r, ArrayList<Socket> sok){ - this.sok=sok; - this.r=r; - this.vastaanotetutsummat=vastaanotetutsummat; - - } - public void run() { - - try { - boolean c = true; - int q = 0; - soketti = sok.get(r); - InputStream uS = soketti.getInputStream(); - ObjectInputStream inStream = new ObjectInputStream(uS); - System.out.println(inStream.readInt()); - try { - while (c) { - System.out.println("6"); - z=inStream.readInt(); - //System.out.println("2"); - //c=false; - //inStream.close(); - q=q+z; - System.out.println(q); - System.out.println("3"); - l=l+1; - System.out.println(l+"moi"); - - - } - vastaanotetutsummat.add(q); - }catch (Exception e1) { - e1.printStackTrace(); - } - - - }catch (Exception e) { - System.out.println("vittu!!!"); - e.printStackTrace(); - - } - } - } - - - private static Socket UDPReceiver() throws IOException { - int porttiNo = 1234; - int yrityskerta = 0; - ServerSocket pleb = new ServerSocket(porttiNo); - Socket soketti = new Socket(); - - while (yrityskerta < 5) { - try { - sendUDP(); // lähetetään UDP paketti asiakkaalle - pleb.setSoTimeout(50000); // soketti odottaa yhteydenottoa 5 sek - soketti = pleb.accept(); - pleb.close(); - System.out.println("TCP muodostettu"); - return soketti; - } catch (SocketException e) { - yrityskerta++; - System.out.println("Ei onnistunut"); - } - } - return null; - } - private static void sendUDP() { - try { - InetAddress targetAddress = InetAddress.getLoopbackAddress(); - DatagramSocket socket = new DatagramSocket(); //luo socketin vapaaseen porttiin paikallisessa koneessa - byte[] data = Integer.toString(1234).getBytes(); - DatagramPacket packet = new DatagramPacket (data, data.length, targetAddress, 3126); //luo datagrampacketin - socket.send(packet); // lähettää paketin - socket.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - private static int lue(ObjectInputStream i, ObjectOutputStream o) { - try { - return i.readInt(); - } catch (Exception e){ - try { - o.writeInt(-1); - } catch (IOException e1) { - e1.printStackTrace(); - } - return -1; - } - - - }} -- GitLab