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