-
Notifications
You must be signed in to change notification settings - Fork 0
/
MetrozetClient.java
76 lines (61 loc) · 1.58 KB
/
MetrozetClient.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import java.io.*;
import java.net.*;
import Console.Console;
public class MetrozetClient
{
Socket clientSocket = new Socket();
InetSocketAddress soaddr;
SenaTCPListener sena;
Thread t;
String command;
DataOutputStream outToServer;
Console console;
MetrozetClient(String metrozetAddress, Console cons) {
console = cons;
try {
soaddr = new InetSocketAddress(metrozetAddress, 6001);
if (clientSocket.isConnected()) {
clientSocket.close();
}
clientSocket = new Socket();
//clientSocket.setSoTimeout(5000);
//clientSocket.connect(soaddr, 5000);
clientSocket.connect(soaddr);
//clientSocket.setSoTimeout(500);
//clientSocket.setSoLinger(false, 0);
clientSocket.setKeepAlive(true);
outToServer = new DataOutputStream(clientSocket.getOutputStream());
sena = new SenaTCPListener(clientSocket, console);
t = new Thread(sena);
t.start();
command = "enableabcdef\r";
outToServer.writeBytes(command);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void stop() {
//t.stop();
}
public void send(String cmd) {
command = cmd + "\r";
if (clientSocket.isConnected()) {
//if (clientSocket.isBound()) {
try {
outToServer.writeBytes(command);
console.write(cmd);
} catch (IOException e) {
e.printStackTrace();
}
}
}
public boolean isOpen() {
return clientSocket.isConnected();
}
public static void main(String argv[]) throws Exception
{
MetrozetClient cl = new MetrozetClient("192.168.18.8", new Console());
}
}