From d9556c876f26a5f710c4d1a84f97b34ed683f571 Mon Sep 17 00:00:00 2001 From: SeekDaSky Date: Thu, 13 Apr 2017 19:57:30 +0200 Subject: [PATCH] le chie sur celui qui a eu l idee de ne pas gerer les unsigned en java --- central-manager/boot | Bin 0 -> 22856 bytes central-manager/lib/local/handler.o | Bin 0 -> 6248 bytes central-manager/lib/local/middleware.o | Bin 0 -> 5040 bytes central-manager/lib/network/tcp/server.o | Bin 0 -> 2184 bytes central-manager/lib/network/udp/server.o | Bin 0 -> 2176 bytes .../src/commandterminal/CommandTerminal.java | 132 ++++++------------ 6 files changed, 41 insertions(+), 91 deletions(-) create mode 100755 central-manager/boot create mode 100644 central-manager/lib/local/handler.o create mode 100644 central-manager/lib/local/middleware.o create mode 100644 central-manager/lib/network/tcp/server.o create mode 100644 central-manager/lib/network/udp/server.o diff --git a/central-manager/boot b/central-manager/boot new file mode 100755 index 0000000000000000000000000000000000000000..6733fa5b3678a2d4d278b0887404c509ba5579a0 GIT binary patch literal 22856 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�<{e!GzPkdGa!TD7v;gI@5g)>p03SBcL8*+u9L zq*%y~@ox*+AxdEVW)J#UMK=41AG;*d8O;(O`N@7t$SyLyc;FAF&MAd5XakBvm5=ag1826w1HLlHw9r&&{#wq z!4wvy*MGQ}WIQ+)2{d_0L6*WzF;>A7qaqe)L78Sw91HOwSP^KDb7ccQdS!A#Lrj`N zLzVCJK@8Tt&5b@(9fCpZDtIlzB6^cm(5rcvJNYT@f3%}@I$R3iUQlcc3SGRgKmux= zP8=1os!a4E{L|W)(pT#p>idTpj#)RH-fSDamul5l>mo5}@M4=Z-MiSgDzNyObx75} zz0k!4w&(aimZRDAM#-|9QJ}R$rQcKN0>`l4!io4;A&RvANO7Y3Fxqg1%C|Mx<5Zs2 zAM4_HkE~FwPjV1DvSHoUgQ2xSRh?S5`9Lmsx}>o3U&$$Y7mm|fqvF;2&H}k$sqQPu z9LXsErCD|_3KUbNuhxM&q<*CoRP`%;)&8wgf3cKP>qR|MU&WF1X-zd(|C_)lCTe|G ztt*A)0x#)Ux7_|u;Gk7stv_{1{h^$ItLtS&AI#BL*S+D1qSm=NOE5}L`SehZzFN=Geyni7;W*Z*$dsRZ6!`E|h^Zrb5S$$>a zSdPBAZs?L4WZbeTJw@NgF>C$ieY0CADL<77rKk9hP#{dTUvt;-LuFEbOHTb7Kbqaq zLL`Y)W+7fu`Z>dg%aVXHOEf3NxPGOZ6ShT;V>%Bl#J}=i%|A50lV#Y5)KL literal 0 HcmV?d00001 diff --git a/central-manager/lib/local/handler.o b/central-manager/lib/local/handler.o new file mode 100644 index 0000000000000000000000000000000000000000..362b022fad325d2f865f3d16babbc2bea3a25c10 GIT binary patch literal 6248 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 U7s8sKeLX%LKs5I@{p+>=8|1MQ5C8xG literal 0 HcmV?d00001 diff --git a/central-manager/lib/network/tcp/server.o b/central-manager/lib/network/tcp/server.o new file mode 100644 index 0000000000000000000000000000000000000000..303904df57525ff2d84fba5033947f3f2fc0b9b7 GIT binary patch literal 2184 zcmbu9&rcIU6vy9o1>|=%8ci^<2ci&l(+UAXj49U2#uy+4O!Pvw?GgxWm+Y>Fk`NC> znLP*Ys+7S7oEGWg7kI^zO)7l(_e4{UnZlO0Vi`FvBUPt@_U&fl7L(^Ys>&&w4&Rkg+*SxlS22C<9k}>AlsJJt#N%yZk)QWE(AY z6%A_?{ox(;H5*N(hGRXWW7EB{0j*C<#4g7ZgYmxj08^acLS;Dv%2HJ6YHK?B46Aqs zIW@9ws_IBb^id?$-l(2cP~!8jj-*H6_kP%#8v3OHRQ!dRikX5&Z?8z4iY82jM&TYB zRcJai7ZVkvKN*KqkK@vF`tOdc8=Jfrm&1iRoXQ)fzfy-^tHbp=e5?+iti!=E?fa&! z<-o}2ZLNPW(GS-%;}bJesfn4%bmn$C1CEtjFkMu-OU z$j+DYP?&dIvxNJR^|Arz?9n&cql1Q4mUyeg>CBLkz73nuKPQMrIpnYZ!lz8%j=s>p zlsM`CuxNW4SRZ%Lf=f4Tmn#5>U!`L`u5KhG}b!RP!Y>FN86Jk4}4(CB@SVG}%t zJ{fUpHPf7O(KWK5Ij+sdIpNu6!O&cD$ptNMxCUrh#{n&86^mvGS;=xu4G;V!$2D>b zp!srhZf4dtie@eUe>yRYr&kJ|xFj+%ac(z{lUNoAL)Ehj$k~o fVC@mX5{GwbA{kFtBXows;(Pe>->E5?6O8`{qY)X= literal 0 HcmV?d00001 diff --git a/central-manager/lib/network/udp/server.o b/central-manager/lib/network/udp/server.o new file mode 100644 index 0000000000000000000000000000000000000000..1eb002fa0a1854ba1316a04745ac441f72a130dd GIT binary patch literal 2176 zcmbu9&ubG=5XUD;+r<8iQc z7;TeWYJTjtsQXTj<_B6g!_-&cg|*aPCFzeVxW7`D4+5yc(bhT|WnDcOuZD@6pEu9r zSfgCcx~;(o7aSb}PPko?S7fW^_&Hhv`8xQaBJcIQx0r*Sk(D;PmV)+vKeMYVyI?#*`M%On90~#DKP=R`dN^JUQF{0`S8=S-uFMDD zrq|Ii;6!h&l4j>4OioOUMy^jjP;W$rr6Fk`G8i2gi4H}FX&s=~8Nj!k1m9xV*Vh>g zy}@E#Mox`vk%~9o9e(Mb=xPh-K9tzpt0QR({66+t3wWLwfB^oyEP#=`EC6j@7^4K6 zaN$rgMLUk?gnaCGM0N=q{cUdRN8rV8HsOO!`0XZqtO<`d;dh&G(6#b2tt@3Bo}5mk z)OaE_BPSoqNzhB#dCkCegJz{C24ojXx(1nLtz3dxqg2%GegQIb#T?8PH6xYI<;u7b z+K4mYO#nE9?TD@*+AD!mO*!8Xc!$8>3A|I_I|A<#_*a2<3!EP?%BM%*{d54)h|~YY z^N|ED#!&?>=ARe1n12Lgl2LqW4U_bxf|1UEq#I>toaM8!wvd(#ZP5TJmp0NMWpo{+ zY^hMtipYv3LzD1=-qMY9b{-^KuFa2njzBG0F{{^oAM+yJ{ literal 0 HcmV?d00001 diff --git a/command-terminal/CommandTerminal/src/commandterminal/CommandTerminal.java b/command-terminal/CommandTerminal/src/commandterminal/CommandTerminal.java index eedb010..3aa8fcc 100644 --- a/command-terminal/CommandTerminal/src/commandterminal/CommandTerminal.java +++ b/command-terminal/CommandTerminal/src/commandterminal/CommandTerminal.java @@ -6,19 +6,13 @@ package commandterminal; -import DatagramSocket.AsynchronousDatagramSocket; +import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; -import java.net.InterfaceAddress; -import java.net.NetworkInterface; import java.net.SocketException; +import java.net.UnknownHostException; import java.nio.ByteBuffer; -import java.util.Enumeration; -import java.util.HashSet; -import java.util.Iterator; -import java.util.logging.Level; -import java.util.logging.Logger; /** * @@ -26,96 +20,52 @@ import java.util.logging.Logger; */ public class CommandTerminal { - private final static int SGCA_BROADCAST_PORT = 9999; - private final static int MAX_MESSAGE_SIZE = 300; - private static AsynchronousDatagramSocket socket; + private final static int SGCA_MULTICAST_PORT = 4446; + private final static String SCGA_MULTICAST_ADDRESS = "224.0.0.3"; /** * @param args the command line arguments */ public static void main(String[] args){ - //the following code go through every interfaces to get broadcasts addresses in order to contact the sgca - HashSet listOfBroadcasts = new HashSet(); - Enumeration list; - try { - list = NetworkInterface.getNetworkInterfaces(); - - while(list.hasMoreElements()) { - NetworkInterface iface = (NetworkInterface) list.nextElement(); - - if(iface == null) continue; - //if the interface is not loopback - if(!iface.isLoopback() && iface.isUp()) { - - Iterator it = iface.getInterfaceAddresses().iterator(); - while (it.hasNext()) { - InterfaceAddress address = (InterfaceAddress) it.next(); - if(address == null) continue; - InetAddress broadcast = address.getBroadcast(); - if(broadcast != null) - { - //we found it ! - listOfBroadcasts.add(broadcast); - } - } - } - } - } catch (SocketException ex) { - System.err.println("Error while getting network interfaces"); - return; - } + /* + * Handshake + */ + + try { + DatagramSocket socket = new DatagramSocket(); + ByteBuffer buf = ByteBuffer.allocate(19); + buf.clear(); + buf.put((byte)(0x01|0x02)); + + DatagramPacket payload = new DatagramPacket(buf.array(),buf.array().length,InetAddress.getByName(SCGA_MULTICAST_ADDRESS),SGCA_MULTICAST_PORT); + socket.send(payload); + + socket.receive(payload); + + buf = ByteBuffer.wrap(payload.getData()); + + if(buf.get() == 3){ + System.out.println("--Connection request successful"); + byte address[] = new byte[9]; + buf = buf.get(address,0,9); + String addressString = new String(address); + InetAddress sgcaAddress = InetAddress.getByName(addressString); + buf = buf.get(address,0,7); + short shortVal = buf.getShort(); + int port = shortVal >= 0 ? shortVal : 0x10000 + shortVal; + System.out.println("----Address : "+sgcaAddress.getHostAddress()); + System.out.println("----Port : "+port); + } + + + } catch ( IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + - Integer sgcaPort; - InetAddress sgcaAddress; - DatagramPacket packet; - try { - //try to send a request to all the broadcasts (usually there is only one) and wait for the response of the sgca - DatagramSocket broadcastSocket = new DatagramSocket(); - byte[] data; - for(InetAddress adr : listOfBroadcasts){ - data = new byte[1]; - Integer clientType = 1; - data[0] = clientType.byteValue(); - packet = new DatagramPacket(data,data.length,adr,SGCA_BROADCAST_PORT); - broadcastSocket.send(packet); - - } - data = new byte[1]; - packet = new DatagramPacket(data,data.length); - broadcastSocket.receive(packet); - sgcaAddress = packet.getAddress(); - Byte b = new Byte(packet.getData()[0]); - sgcaPort = b.intValue(); - } catch (Exception ex) { - Logger.getLogger(CommandTerminal.class.getName()).log(Level.SEVERE, null, ex); - return; - } - - //from now we assume that the network discovery part went well and we have the port/address of the sgca - //send a ISALIVE to ensure the sgca is ready to receive commands - DatagramSocket comSock; - ByteBuffer buf = ByteBuffer.allocate(1); - try { - comSock = new DatagramSocket(sgcaPort); - buf.putInt(OpCode.ISALIVE.ordinal()); - packet = new DatagramPacket(buf.array(),buf.arrayOffset(),sgcaAddress,sgcaPort); - comSock.send(packet); - - //receive response - comSock.receive(packet); - Byte response = new Byte(packet.getData()[0]); - OpCode success = OpCode.values()[response.intValue()]; - - if(success != OpCode.SUCCESS){ - System.out.println("SGCA Not ready, exiting"); - return; - } - } catch (Exception ex) { - Logger.getLogger(CommandTerminal.class.getName()).log(Level.SEVERE, null, ex); - } - - //now the sgca is connected and ready, let's start the real work }