Added nickname change /n newName

This commit is contained in:
Seraina 2022-03-27 16:41:03 +02:00
parent 15cabe2d18
commit 1c03b5d9c7
3 changed files with 19 additions and 9 deletions

View File

@ -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;
}

View File

@ -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 + "\"");

View File

@ -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;