|
@@ -8,6 +8,9 @@ import java.io.ObjectInputStream;
|
|
|
import java.io.ObjectOutputStream;
|
|
import java.io.ObjectOutputStream;
|
|
|
import java.net.Socket;
|
|
import java.net.Socket;
|
|
|
|
|
|
|
|
|
|
+import server.network.NetworkMessage;
|
|
|
|
|
+import server.network.NetworkNotification;
|
|
|
|
|
+
|
|
|
public class User {
|
|
public class User {
|
|
|
private String username;
|
|
private String username;
|
|
|
private Color color;
|
|
private Color color;
|
|
@@ -33,12 +36,24 @@ public class User {
|
|
|
public void run() {
|
|
public void run() {
|
|
|
while(true){
|
|
while(true){
|
|
|
try {
|
|
try {
|
|
|
- in.readUTF();
|
|
|
|
|
- //TODO: receive message from user according our protocol
|
|
|
|
|
- server.addMessage(new Message("messageINPUT", User.this));
|
|
|
|
|
|
|
+ try {
|
|
|
|
|
+ Object objectinput = in.readObject();
|
|
|
|
|
+ if(objectinput instanceof NetworkMessage){
|
|
|
|
|
+ NetworkMessage input = (NetworkMessage)objectinput;
|
|
|
|
|
+ server.addMessage(new Message(input.getMessage(), User.this));
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (ClassNotFoundException e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ }
|
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|
|
|
System.out.println("User disconnected: " + username + "from: " + client.getLocalSocketAddress());
|
|
System.out.println("User disconnected: " + username + "from: " + client.getLocalSocketAddress());
|
|
|
server.deleteUser(User.this);
|
|
server.deleteUser(User.this);
|
|
|
|
|
+ try {
|
|
|
|
|
+ client.close();
|
|
|
|
|
+ } catch (IOException e1) {
|
|
|
|
|
+ e1.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -47,11 +62,20 @@ public class User {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void sendMessage(Message message){
|
|
public void sendMessage(Message message){
|
|
|
|
|
+ NetworkMessage nwmessage = new NetworkMessage(message.getMessage(), message.getUser().getColor(), message.getUser().getUsername());
|
|
|
try {
|
|
try {
|
|
|
- out.writeUTF("messageOUT");
|
|
|
|
|
- //TODO: send message to user according our protocol
|
|
|
|
|
|
|
+ out.writeObject(nwmessage);
|
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public Color getColor() {
|
|
|
|
|
+ return color;
|
|
|
|
|
+ }
|
|
|
|
|
+ public String getUsername() {
|
|
|
|
|
+ return username;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
}
|
|
}
|