Added nickname change /n newName
This commit is contained in:
parent
15cabe2d18
commit
1c03b5d9c7
@ -1,6 +1,4 @@
|
||||
package ch.unibas.dmi.dbis.cs108.multiplayer.server;
|
||||
|
||||
import java.io.StringBufferInputStream;
|
||||
package ch.unibas.dmi.dbis.cs108.multiplayer.client;
|
||||
|
||||
public class MessageFormatter {
|
||||
|
||||
@ -23,15 +21,17 @@ public class MessageFormatter {
|
||||
}
|
||||
switch (header) {
|
||||
case "/c":
|
||||
stringBuilder.append("CHATA");
|
||||
s = msg.substring(2);
|
||||
stringBuilder.append("CHATA$");
|
||||
s = msg.substring(3);
|
||||
break;
|
||||
case "/q":
|
||||
stringBuilder.append("QUITS");
|
||||
s = msg.substring(2);
|
||||
stringBuilder.append("QUITS$");
|
||||
s = msg.substring(3);
|
||||
break;
|
||||
case "/n":
|
||||
stringBuilder.append("NAMEC");
|
||||
stringBuilder.append("NAMEC$");
|
||||
s = msg.substring(3);
|
||||
break;
|
||||
default:
|
||||
s = msg;
|
||||
}
|
||||
@ -79,7 +79,7 @@ public class ClientHandler implements Runnable {
|
||||
* The main logic of the client handler.
|
||||
* Since every client is put on a string this is where
|
||||
* most interactions between client and server are held
|
||||
*/
|
||||
**/
|
||||
public void run() {
|
||||
String msg;
|
||||
while (socket.isConnected()) {
|
||||
@ -98,6 +98,13 @@ public class ClientHandler implements Runnable {
|
||||
return clientUserName;
|
||||
}
|
||||
|
||||
public void changeUsername(String newName) {
|
||||
|
||||
String h = this.clientUserName; //just a friendly little helper
|
||||
this.clientUserName = newName;
|
||||
broadcastMessage(h +" have changed their nickname to " + clientUserName);
|
||||
}
|
||||
|
||||
public void broadcastMessage(String msg) {
|
||||
for (ClientHandler client : connectedClients) {
|
||||
client.sendMsgToClient("CHATM:" + clientUserName + ": \"" + msg + "\"");
|
||||
|
||||
@ -21,6 +21,9 @@ public class JServerProtocolParser {
|
||||
case "CHATA":
|
||||
h.broadcastMessage(msg.substring(6));
|
||||
break;
|
||||
case "NAMEC":
|
||||
h.changeUsername(msg.substring(6));
|
||||
break;
|
||||
case "CPING":
|
||||
h.sendMsgToClient("PINGB");
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user