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.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. logger.info("Chat already running");
  33. return;
  34. }
  35. this.mode = mode;
  36. if (mode) {
  37. logger.info("Running as server");
  38. srv = new Server(port);
  39. srv.addObserver(this);
  40. srv.init();
  41. } else {
  42. logger.info("Running as client");
  43. cli = new Client(ip, port);
  44. cli.addObserver(this);
  45. cli.init();
  46. }
  47. initialized = true;
  48. }
  49. public void sendMessage(String msg)
  50. {
  51. if (!initialized) {
  52. logger.warning("Chat not initialized");
  53. return;
  54. }
  55. if (mode) {
  56. srv.sendMessage(msg);
  57. } else {
  58. cli.sendMessage(msg);
  59. }
  60. }
  61. @Override
  62. public void update(Observable o, Object o1)
  63. {
  64. this.setChanged();
  65. this.notifyObservers(o1);
  66. }
  67. }