Guest User

Untitled

a guest
Oct 18th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. private void ClientMessageReceived(Client client, string text)
  2. {
  3. OnConsoleOutput(string.Format("{0} {1}: {2}", client.UserInfo.Nickname, client.IP, text));
  4.  
  5. PacketInfo packetInfo;
  6.  
  7. try
  8. {
  9. packetInfo = JsonConvert.DeserializeObject<PacketInfo>(text);
  10. }
  11. catch
  12. {
  13. return;
  14. }
  15.  
  16. if (packetInfo != null && !string.IsNullOrEmpty(packetInfo.Command))
  17. {
  18. if (packetInfo.Command == "Connect")
  19. {
  20. client.UserInfo.Nickname = packetInfo.GetParameter("Nickname");
  21. string password = packetInfo.GetParameter("Password");
  22. ClientConnect(client, password);
  23. }
  24. else if (client.Authorized)
  25. {
  26. switch (packetInfo.Command)
  27. {
  28. case "Disconnect":
  29. string reason = packetInfo.GetParameter("Reason");
  30. ClientDisconnected(client, reason);
  31. break;
  32. case "Message":
  33. if (client.Authorized)
  34. {
  35. PacketInfo packetInfoMessage = new PacketInfo("Message");
  36. MessageInfo messageInfo = packetInfo.GetData<MessageInfo>();
  37. messageInfo.FromUser = client.UserInfo;
  38. packetInfoMessage.Data = messageInfo;
  39.  
  40. if (messageInfo.ToUser != null && !string.IsNullOrEmpty(messageInfo.ToUser.Nickname))
  41. {
  42. SendTo(messageInfo.ToUser, packetInfoMessage);
  43. SendTo(messageInfo.FromUser, packetInfoMessage);
  44. }
  45. else
  46. {
  47. SendToAll(packetInfoMessage);
  48. }
  49. }
  50. break;
  51. case "Ping":
  52. SendTo(client.UserInfo, new PacketInfo("Pong"));
  53. break;
  54. }
  55. }
  56. }
  57. }
Add Comment
Please, Sign In to add comment