ScReadThread.java 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package at.acdp.urweb;
  2. import at.acdp.urweb.sclient.SecondaryClient;
  3. import at.acdp.urweb.sclient.URLog;
  4. import at.acdp.urweb.sclient.data.Message;
  5. import at.acdp.urweb.sclient.data.VersionMessage;
  6. import org.slf4j.Logger;
  7. import org.slf4j.LoggerFactory;
  8. import java.io.IOException;
  9. public class ScReadThread implements Runnable {
  10. private static final Logger log = LoggerFactory.getLogger(SecondaryClient.class);
  11. private final String ip;
  12. SecondaryClient rde;
  13. ScReadThread(String ip) {
  14. this.ip=ip;
  15. }
  16. public SecondaryClient getRde() {
  17. return rde;
  18. }
  19. @Override
  20. public void run() {
  21. while(true) {
  22. try {
  23. read();
  24. } catch (IOException e) {
  25. log.warn("read thread terminated", e);
  26. URLog.add(new Message("read thread terminated", e ));
  27. }
  28. }
  29. }
  30. private void read() throws IOException {
  31. rde=new SecondaryClient(ip, 30002);
  32. VersionMessage vm = rde.connect();
  33. while(true) {
  34. rde.readPackage();
  35. }
  36. }
  37. public void writeCmd(String s) {
  38. if(!s.endsWith("\n"))
  39. s+="\n";
  40. log.info("writecmd: \""+s+"\"");
  41. rde.writeCmd(s);
  42. }
  43. }