123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- /*
- * 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.tcp;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.InetAddress;
- import java.net.Socket;
- import java.net.UnknownHostException;
- /**
- *
- * @author loquicom
- */
- public class TcpClient {
-
- /**
- * Adresse du serveur
- */
- protected InetAddress adr;
-
- /**
- * Port du serveur
- */
- protected int port;
-
- /**
- * Socket TCP
- */
- protected Socket socket;
-
- /**
- * Flux d'entrée
- */
- protected BufferedReader input;
-
- /**
- * Flux de sorti
- */
- protected PrintWriter output;
-
- /* --- Constructeurs --- */
-
- /**
- * Creation d'un client TCP
- * @param ip L'ip du serveur
- * @param port Le port du serveur
- * @throws UnknownHostException
- */
- public TcpClient(String ip, int port) throws UnknownHostException{
- this.adr = InetAddress.getByName(ip);
- this.port = port;
- }
-
- /**
- * Creation d'un client TCP
- * @param adr L'adresse du serveur
- * @param port Le port du serveur
- */
- public TcpClient(InetAddress adr, int port){
- this.adr = adr;
- this.port = port;
- }
-
- /* --- Methodes --- */
-
- /**
- * Connexion au serveur
- * @return Reussite
- */
- public boolean connect(){
- try {
- this.socket = new Socket(this.adr, this.port);
- this.input = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
- //this.output = new PrintWriter(new BufferedWriter(new OutputStreamWriter(this.socket.getOutputStream())));
- this.output = new PrintWriter(this.socket.getOutputStream());
- } catch (IOException ex) {
- System.err.println("Impossible de se connecter au serveur : " + ex.getMessage());
- return false;
- }
- return true;
- }
-
- /**
- * Envoi message au serveur
- * @param msg Le message
- * @return Reussite
- */
- public boolean send(String msg){
- output.print(msg);
- output.flush();
- return true;
- }
-
- /**
- * Reception d'un message du serveur
- * @return Le message ou null en cas d'erreur
- */
- public String receive(){
- try {
- return input.readLine();
- } catch (IOException ex) {
- System.err.println("Impossible de lire : " + ex.getMessage());
- return null;
- }
- }
-
- /**
- * Ferme la connexion au serveur
- * @return Reussite
- */
- public boolean close(){
- try {
- input.close();
- output.close();
- socket.close();
- } catch (IOException ex) {
- System.err.println("Impossible de de fermer le client : " + ex.getMessage());
- return false;
- }
- return true;
- }
-
- /* --- Getter/Setter --- */
- public InetAddress getAdr() {
- return adr;
- }
- public void setAdr(InetAddress adr) {
- this.adr = adr;
- }
- public int getPort() {
- return port;
- }
- public void setPort(int port) {
- this.port = port;
- }
-
-
-
- }
|