1 package de.lathanda.eos.ev3.brick;
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.io.PrintStream;
6 import java.net.Socket;
7 import java.text.MessageFormat;
9 import de.lathanda.eos.ev3.comm.Identification;
10 import de.lathanda.eos.ev3.exceptions.Ev3NotFoundException;
11 import de.lathanda.eos.ev3.exceptions.Ev3SeekerThread;
15 private static String CONNECT_MSG =
"GET /target?sn= {0} VMTP1.0\n Protocol: EV3";
16 private Socket ev3conn;
17 private PrintStream ev3out;
18 private InputStream ev3in;
19 private ReplyReceiver rr;
20 public void connect() throws IOException {
27 public void connect(String
id)
throws IOException {
35 String msg = MessageFormat.format(CONNECT_MSG, ev3.getSn());
36 ev3conn =
new Socket(ev3.getInetadress(), ev3.getPort());
37 ev3out =
new PrintStream(ev3conn.getOutputStream());
38 ev3in = ev3conn.getInputStream();
40 rr =
new ReplyReceiver();
41 new Thread(rr).start();
43 private class ReplyReceiver
implements Runnable {
44 private static final int LF = 10;
45 private volatile boolean running =
true;
46 private ReplyReceiver() throws IOException {
47 StringBuilder answer =
new StringBuilder();
49 while ((data = ev3in.read()) != LF) {
50 answer.append((
char)data);
52 System.out.println(answer);
void connect(Identification ev3)
Identification getAnyEv3()
static Ev3SeekerThread getInstance()
Identification seekEv3(String target)