|
@@ -0,0 +1,67 @@
|
|
|
+/*
|
|
|
+ * To change this license header, choose License Headers in Project Properties.
|
|
|
+ * To change this template file, choose Tools | Templates
|
|
|
+ * and open the template in the editor.
|
|
|
+ */
|
|
|
+package rsx;
|
|
|
+
|
|
|
+import java.net.InetAddress;
|
|
|
+import java.util.ArrayList;
|
|
|
+import rsx.tcp.TcpClient;
|
|
|
+import rsx.udp.Broadcast;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Connexion à un server BomberStudent
|
|
|
+ * @author Arthur Brandao
|
|
|
+ */
|
|
|
+public class BomberStudentClient {
|
|
|
+
|
|
|
+ protected int portUdp;
|
|
|
+ protected int portTcp;
|
|
|
+ protected Broadcast finder;
|
|
|
+ protected TcpClient socket;
|
|
|
+
|
|
|
+ /* --- Constructeurs --- */
|
|
|
+
|
|
|
+ public BomberStudentClient(){
|
|
|
+ this.portUdp = 28624;
|
|
|
+ this.portTcp = 28642;
|
|
|
+ this.finder = new Broadcast(this.portUdp);
|
|
|
+ }
|
|
|
+
|
|
|
+ public BomberStudentClient(int portUdp, int portTcp){
|
|
|
+ this.portUdp = portUdp;
|
|
|
+ this.portTcp = portTcp;
|
|
|
+ this.finder = new Broadcast(this.portUdp);
|
|
|
+ }
|
|
|
+
|
|
|
+ /* --- Methodes --- */
|
|
|
+
|
|
|
+ public int findServer(){
|
|
|
+ this.finder.search("i'm a bomberstudent server");
|
|
|
+ return this.finder.getServers().size();
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean selectServer(int index){
|
|
|
+ ArrayList<InetAddress> serv = this.finder.getServers();
|
|
|
+ if(index <= 0 || index >= serv.size()){
|
|
|
+ System.err.println("Index invalide");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ this.socket = new TcpClient(this.finder.getServers().get(index), this.portTcp);
|
|
|
+ return this.socket.connect();
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean send(String method, String ressource, String param){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ public BomberStudentReponse receive(){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean close(){
|
|
|
+ return this.socket.close();
|
|
|
+ }
|
|
|
+
|
|
|
+}
|