//接收信息 private void ActiveMQ_Received(object sender, string e) { var package = JsonConvert.DeserializeObject <Package>(e); switch (package.Type) { case "Response": { switch (package.Method) { case nameof(RegisterUser): { if (Sessions.ContainsKey(package.SessionID)) { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Result = default(int) }); RegisterUserResponse?.Invoke(this, data.Result); } } break; case nameof(UserLogin): { if (Sessions.ContainsKey(package.SessionID)) { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Result = default(Tuple <int, List <User> >) }); UserLoginResponse?.Invoke(this, data.Result); } } break; case nameof(SearchFriends): { if (Sessions.ContainsKey(package.SessionID)) { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Result = default(Tuple <int, List <User> >) }); FriendsSearchedResponse?.Invoke(this, data.Result.Item2); } } break; case nameof(AddFriend): { if (Sessions.ContainsKey(package.SessionID)) { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Result = default(Tuple <int, User, User>) }); AddFriendResponse?.Invoke(this, data.Result); } } break; case nameof(GetMyFriends): { if (Sessions.ContainsKey(package.SessionID)) { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Result = default(Tuple <int, List <User> >) }); GetMyFriendsResponse?.Invoke(this, data.Result); } } break; case nameof(GetUserInfo): { if (Sessions.ContainsKey(package.SessionID)) { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Result = default(Tuple <int, User>) }); GetUserInfoResponse?.Invoke(this, data.Result); } } break; case nameof(UpdateUserInfo): { if (Sessions.ContainsKey(package.SessionID)) { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Result = default(Tuple <int>) }); UpdateUserInfoResponse?.Invoke(this, data.Result); } } break; default: break; } } break; case "Notice": { switch (package.Method) { case "AddFriend": { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Result = default(Tuple <int, User, User>) }); FriendAddedNotice?.Invoke(this, data.Result); } break; //好友登录广播地址 case "FriendLoginNotice": { if (!Sessions.ContainsKey(package.SessionID)) { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Username = default(string), Address = default(string) });; FriendLoginNotice?.Invoke(this, new Tuple <string, string>(data.Username, data.Address)); } } break; case "Logout": { if (!Sessions.ContainsKey(package.SessionID)) { var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Result = default(int), UserName = default(string) }); LogoutResponse?.Invoke(this, new Tuple <int, string>(data.Result, data.UserName)); } } break; } } break; case "Chat": { switch (package.Method) { case "Text": var data = JsonConvert.DeserializeAnonymousType(package.Data, new { Username = default(string), Message = default(string) }); ChatReceived?.Invoke(this, new Tuple <string, string>(data.Username, data.Message)); break; default: break; } } break; default: break; } }