TcpClient.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package rsx.tcp;
  7. import java.io.BufferedReader;
  8. import java.io.DataOutputStream;
  9. import java.io.IOException;
  10. import java.io.InputStreamReader;
  11. import java.net.InetAddress;
  12. import java.net.Socket;
  13. import java.net.UnknownHostException;
  14. /**
  15. *
  16. * @author loquicom
  17. */
  18. public class TcpClient {
  19. private InetAddress adr;
  20. private int port;
  21. private Socket socket;
  22. private BufferedReader input;
  23. private DataOutputStream output;
  24. /* --- Constructeurs --- */
  25. public TcpClient(String ip, int port) throws UnknownHostException{
  26. this.adr = InetAddress.getByName(ip);
  27. this.port = port;
  28. }
  29. public TcpClient(InetAddress adr, int port){
  30. this.adr = adr;
  31. this.port = port;
  32. }
  33. /* --- Methodes --- */
  34. public boolean connect(){
  35. try {
  36. this.socket = new Socket(this.adr, this.port);
  37. this.input = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
  38. //this.output = new PrintWriter(new BufferedWriter(new OutputStreamWriter(this.socket.getOutputStream())));
  39. this.output = new DataOutputStream(this.socket.getOutputStream());
  40. } catch (IOException ex) {
  41. System.err.println("Impossible de se connecter au serveur : " + ex.getMessage());
  42. return false;
  43. }
  44. return true;
  45. }
  46. public boolean send(String msg){
  47. try {
  48. output.writeBytes(msg);
  49. } catch (IOException ex) {
  50. System.err.println("Impossible d'envoyer le message : " + ex.getMessage());
  51. return false;
  52. }
  53. return true;
  54. }
  55. public String receive(){
  56. try {
  57. return input.readLine();
  58. } catch (IOException ex) {
  59. System.err.println("Impossible de lire : " + ex.getMessage());
  60. return null;
  61. }
  62. }
  63. public boolean close(){
  64. try {
  65. input.close();
  66. output.close();
  67. socket.close();
  68. } catch (IOException ex) {
  69. System.err.println("Impossible de de fermer le client : " + ex.getMessage());
  70. return false;
  71. }
  72. return true;
  73. }
  74. }