diff --git a/Server/Models/ServerClient.cs b/Server/Models/ServerClient.cs
index bb8f2e9..94a563f 100644
--- a/Server/Models/ServerClient.cs
+++ b/Server/Models/ServerClient.cs
@@ -86,16 +86,23 @@ namespace Server.Models
{
Debug.WriteLine($"Got message from {Username} : {message}");
byte id = message[0];
+ byte[] payload = new byte[message.Length - 1];
+ Array.Copy(message,1,payload,0,message.Length-1);
switch(id)
{
case 0x01:
// canvas data
break;
case 0x02:
- // message data
+ // json message data
+ (string, string) combo = JSONConvert.GetUsernameAndMessage(payload);
+ string textUsername = combo.Item1;
+ string textMsg = combo.Item2;
+ // todo handle sending to all except this user the username and message to display in chat
break;
+
case 0x03:
- // json data
+ // object data
break;
default:
Debug.WriteLine("Received weird identifier: " + id);
diff --git a/Server/Models/ServerCommunication.cs b/Server/Models/ServerCommunication.cs
index 0ead864..8869581 100644
--- a/Server/Models/ServerCommunication.cs
+++ b/Server/Models/ServerCommunication.cs
@@ -85,5 +85,13 @@ namespace Server.Models
sc.sendMessage(message);
}
}
+
+ public void sendToAllExcept(string username, byte[] message)
+ {
+ foreach (ServerClient sc in serverClients)
+ {
+ if (sc.Username != username) sc.sendMessage(message);
+ }
+ }
}
}
diff --git a/Server/Server.csproj b/Server/Server.csproj
index afc85b6..c6ad1ce 100644
--- a/Server/Server.csproj
+++ b/Server/Server.csproj
@@ -11,6 +11,7 @@
+
diff --git a/SharedClientServer/JSONConvert.cs b/SharedClientServer/JSONConvert.cs
new file mode 100644
index 0000000..004567a
--- /dev/null
+++ b/SharedClientServer/JSONConvert.cs
@@ -0,0 +1,17 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace SharedClientServer
+{
+ class JSONConvert
+ {
+ public static (string,string) GetUsernameAndMessage(byte[] json)
+ {
+ string msg = Encoding.ASCII.GetString(json);
+ dynamic payload = JsonConvert.DeserializeObject(msg);
+ return (payload.username, payload.message);
+ }
+ }
+}
diff --git a/SharedClientServer/SharedClientServer.projitems b/SharedClientServer/SharedClientServer.projitems
index e7cdd0b..97e39cb 100644
--- a/SharedClientServer/SharedClientServer.projitems
+++ b/SharedClientServer/SharedClientServer.projitems
@@ -10,6 +10,7 @@
+
\ No newline at end of file