You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Transmitter.java 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package chatprogramm.model;
  2. import chatprogramm.controller.ReceiveAdapterController;
  3. import chatprogramm.logger.OhmLogger;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Observable;
  6. import java.util.Observer;
  7. import java.util.logging.Logger;
  8. /**
  9. *
  10. * @author Marian
  11. */
  12. public class Transmitter extends Observable implements Observer
  13. {
  14. boolean connected;
  15. Server srv;
  16. Client cli;
  17. boolean mode;
  18. boolean initialized;
  19. ReceiveAdapterController Adapter;
  20. private static Logger logger = OhmLogger.getLogger();
  21. public Transmitter()
  22. {
  23. connected = false;
  24. mode = false;
  25. initialized = false;
  26. srv = null;
  27. cli = null;
  28. }
  29. public void connectToPeer(boolean mode, String ip, int port)
  30. {
  31. if (initialized)
  32. {
  33. logger.info("Chat's already running");
  34. return;
  35. }
  36. this.mode = mode;
  37. if (mode)
  38. {
  39. logger.info("Running as server");
  40. srv = new Server(port);
  41. srv.addObserver(this);
  42. srv.init();
  43. }
  44. else
  45. {
  46. logger.info("Running as client");
  47. cli = new Client(ip, port);
  48. cli.addObserver(this);
  49. cli.init();
  50. }
  51. initialized = true;
  52. }
  53. public void sendMessage(String msg)
  54. {
  55. if (!initialized)
  56. {
  57. logger.warning("Chat not initialized");
  58. return;
  59. }
  60. if (mode)
  61. {
  62. srv.sendMessage(msg);
  63. }
  64. else
  65. {
  66. cli.sendMessage(msg);
  67. }
  68. }
  69. @Override
  70. public void update(Observable observable, Object object)
  71. {
  72. this.setChanged();
  73. this.notifyObservers(object);
  74. }
  75. }