Changeset 920
- Timestamp:
- 11/06/10 13:29:40 (3 years ago)
- Location:
- trunk/src/jlatexeditor/remote
- Files:
-
- 1 added
- 3 modified
-
MasterNode.java (modified) (3 diffs)
-
RemoteSlave.java (modified) (1 diff)
-
SlaveNode.java (modified) (4 diffs)
-
SocketConnection.java (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/jlatexeditor/remote/MasterNode.java
r919 r920 41 41 Socket socket = serverSocket.accept(); 42 42 43 BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));44 String line = reader.readLine();43 SocketConnection conn = new SocketConnection(socket); 44 String line = conn.receive(); 45 45 logger.info("reading: " + line); 46 46 47 47 if (line == null) { 48 reader.close(); 49 socket.close(); 48 conn.close(); 50 49 continue; 51 50 } … … 53 52 if (line.equals("register")) { 54 53 // client as slave node 55 slaves.add(new RemoteSlave( socket, reader));54 slaves.add(new RemoteSlave(conn)); 56 55 } else { 57 56 if (line.startsWith("open: ")) { … … 103 102 } 104 103 105 reader.close(); 106 socket.close(); 104 conn.close(); 107 105 } 108 106 } -
trunk/src/jlatexeditor/remote/RemoteSlave.java
r918 r920 10 10 */ 11 11 public class RemoteSlave { 12 private Socket socket; 13 private BufferedWriter writer; 14 private BufferedReader reader; 12 private SocketConnection conn; 15 13 16 public RemoteSlave (Socket socket, BufferedReader reader) throws IOException { 17 this.socket = socket; 18 this.reader = reader; 19 this.writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); 14 public RemoteSlave (SocketConnection conn) throws IOException { 15 this.conn = conn; 20 16 21 writer.write("registered\n"); 22 writer.flush(); 17 conn.send("registered"); 23 18 } 24 19 25 20 public boolean isOpen(String fileString) throws IOException { 26 writer.write("is open?: " + fileString + "\n"); 27 writer.flush(); 28 return reader.readLine().equals("true"); 21 conn.send("is open?: " + fileString); 22 return conn.receive().equals("true"); 29 23 } 30 24 31 25 public boolean isResponsibleForFile(String fileString) throws IOException { 32 writer.write("is responsible for?: " + fileString + "\n"); 33 writer.flush(); 34 return reader.readLine().equals("true"); 26 conn.send("is responsible for?: " + fileString); 27 return conn.receive().equals("true"); 35 28 } 36 29 37 30 public void open(String fileString) throws IOException { 38 writer.write("open: " + fileString + "\n"); 39 writer.flush(); 31 conn.send("open: " + fileString); 40 32 } 41 33 } -
trunk/src/jlatexeditor/remote/SlaveNode.java
r919 r920 20 20 21 21 private JLatexEditorJFrame jle; 22 private Socket socket; 23 private BufferedWriter writer; 24 private BufferedReader reader; 22 private SocketConnection conn; 25 23 26 24 public SlaveNode (JLatexEditorJFrame jle, int port) throws IOException { 27 25 this.jle = jle; 28 this.socket = new Socket(InetAddress.getLocalHost(), port); 29 reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); 30 writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); 31 32 writer.write("register\n"); 33 writer.flush(); 26 Socket socket = new Socket(InetAddress.getLocalHost(), port); 27 conn = new SocketConnection(socket); 28 conn.send("register"); 34 29 35 30 run(); … … 38 33 public void run() throws IOException { 39 34 while (true) { 40 String line = reader.readLine();35 String line = conn.receive(); 41 36 logger.info("reading: " + line); 42 37 if (line == null) throw new IOException("InputStream closed"); … … 46 41 File file = fileLineNr.file; 47 42 48 if (jle.isOpen(file)) { 49 writer.write("true\n"); 50 } else { 51 writer.write("false\n"); 52 } 53 writer.flush(); 43 conn.send(jle.isOpen(file) ? "true" : "false"); 54 44 } else 55 45 if (line.startsWith("is responsible for?: ")) { … … 57 47 File file = fileLineNr.file; 58 48 59 if (jle.isResponsibleFor(file)) { 60 writer.write("true\n"); 61 } else { 62 writer.write("false\n"); 63 } 64 writer.flush(); 49 conn.send(jle.isResponsibleFor(file) ? "true" : "false"); 65 50 } else 66 51 if (line.startsWith("open: ")) {
![(please configure the [header_logo] section in trac.ini)](http://jlatexeditor.endrullis.de/chrome/site/logo.png)