|
@@ -14,24 +14,29 @@ import java.net.Socket;
|
|
public class Client extends Thread {
|
|
public class Client extends Thread {
|
|
|
|
|
|
WriteThread writeThread;
|
|
WriteThread writeThread;
|
|
|
|
+ Callback callback;
|
|
|
|
|
|
public void send(String msg) {
|
|
public void send(String msg) {
|
|
writeThread.setMessage(msg);
|
|
writeThread.setMessage(msg);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public Client(Callback callback) {
|
|
|
|
+ this.callback = callback;
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void run() {
|
|
public void run() {
|
|
Socket socket = null;
|
|
Socket socket = null;
|
|
try {
|
|
try {
|
|
socket = new Socket("192.168.0.2", 9125);
|
|
socket = new Socket("192.168.0.2", 9125);
|
|
|
|
|
|
-// ReadThread readThread = new ReadThread(socket);
|
|
|
|
|
|
+ ReadThread readThread = new ReadThread(socket, callback);
|
|
writeThread = new WriteThread(socket);
|
|
writeThread = new WriteThread(socket);
|
|
|
|
|
|
-// readThread.start();
|
|
|
|
|
|
+ readThread.start();
|
|
writeThread.start();
|
|
writeThread.start();
|
|
|
|
|
|
-// readThread.join();
|
|
|
|
|
|
+ readThread.join();
|
|
writeThread.join();
|
|
writeThread.join();
|
|
|
|
|
|
} catch (IOException | InterruptedException e) {
|
|
} catch (IOException | InterruptedException e) {
|
|
@@ -50,23 +55,28 @@ public class Client extends Thread {
|
|
class ReadThread extends Thread {
|
|
class ReadThread extends Thread {
|
|
private Socket socket;
|
|
private Socket socket;
|
|
|
|
|
|
- public ReadThread(Socket socket) {
|
|
|
|
|
|
+ private Callback callback;
|
|
|
|
+
|
|
|
|
+ public ReadThread(Socket socket, Callback callback) {
|
|
this.socket = socket;
|
|
this.socket = socket;
|
|
|
|
+ this.callback = callback;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void run() {
|
|
public void run() {
|
|
while (!isInterrupted()) {
|
|
while (!isInterrupted()) {
|
|
try {
|
|
try {
|
|
- DataInputStream ois = new DataInputStream(socket.getInputStream());
|
|
|
|
|
|
+ ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
|
|
|
|
|
|
- String o = ois.readLine();
|
|
|
|
|
|
+ Transport t = (Transport) ois.readObject();
|
|
|
|
|
|
- System.out.print("\033[1;31m\033[40m " + o + ": \u001B[0m ");
|
|
|
|
- System.out.println(o);
|
|
|
|
|
|
+ System.out.print("\033[1;31m\033[40m " + t.Name + ": \u001B[0m ");
|
|
|
|
+ System.out.println(t.Message);
|
|
|
|
|
|
|
|
+// textView.setText(t.Name + ": " + t.Message);
|
|
|
|
+ callback.RecvMessage(t.Message);
|
|
|
|
|
|
- } catch (IOException exception) {
|
|
|
|
|
|
+ } catch (IOException | ClassNotFoundException exception) {
|
|
exception.printStackTrace();
|
|
exception.printStackTrace();
|
|
try {
|
|
try {
|
|
socket.close();
|
|
socket.close();
|