Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void ClientMessageReceived(Client client, string text)
- {
- OnConsoleOutput(string.Format("{0} {1}: {2}", client.UserInfo.Nickname, client.IP, text));
- PacketInfo packetInfo;
- try
- {
- packetInfo = JsonConvert.DeserializeObject<PacketInfo>(text);
- }
- catch
- {
- return;
- }
- if (packetInfo != null && !string.IsNullOrEmpty(packetInfo.Command))
- {
- if (packetInfo.Command == "Connect")
- {
- client.UserInfo.Nickname = packetInfo.GetParameter("Nickname");
- string password = packetInfo.GetParameter("Password");
- ClientConnect(client, password);
- }
- else if (client.Authorized)
- {
- switch (packetInfo.Command)
- {
- case "Disconnect":
- string reason = packetInfo.GetParameter("Reason");
- ClientDisconnected(client, reason);
- break;
- case "Message":
- if (client.Authorized)
- {
- PacketInfo packetInfoMessage = new PacketInfo("Message");
- MessageInfo messageInfo = packetInfo.GetData<MessageInfo>();
- messageInfo.FromUser = client.UserInfo;
- packetInfoMessage.Data = messageInfo;
- if (messageInfo.ToUser != null && !string.IsNullOrEmpty(messageInfo.ToUser.Nickname))
- {
- SendTo(messageInfo.ToUser, packetInfoMessage);
- SendTo(messageInfo.FromUser, packetInfoMessage);
- }
- else
- {
- SendToAll(packetInfoMessage);
- }
- }
- break;
- case "Ping":
- SendTo(client.UserInfo, new PacketInfo("Pong"));
- break;
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment