TcpClient.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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. protected InetAddress adr;
  20. protected int port;
  21. protected Socket socket;
  22. protected BufferedReader input;
  23. protected 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. /* --- Getter/Setter --- */
  75. public InetAddress getAdr() {
  76. return adr;
  77. }
  78. public void setAdr(InetAddress adr) {
  79. this.adr = adr;
  80. }
  81. public int getPort() {
  82. return port;
  83. }
  84. public void setPort(int port) {
  85. this.port = port;
  86. }
  87. }