diff --git a/src/libnpsharp/NPClient.cs b/src/libnpsharp/NPClient.cs index 63d40d4..57e8778 100644 --- a/src/libnpsharp/NPClient.cs +++ b/src/libnpsharp/NPClient.cs @@ -108,7 +108,10 @@ namespace NPSharp _rpc.AttachCallback(packet => { - var result = (AuthenticateResultMessage) packet; + var result = packet as AuthenticateResultMessage; + if (result == null) + return; + if (result.Result != 0) tcs.SetResult(false); LoginId = result.NPID; diff --git a/src/libnpsharp/RPC/Messages/RPCClientMessage.cs b/src/libnpsharp/RPC/Messages/RPCClientMessage.cs index d4bd842..ab09095 100644 --- a/src/libnpsharp/RPC/Messages/RPCClientMessage.cs +++ b/src/libnpsharp/RPC/Messages/RPCClientMessage.cs @@ -17,7 +17,7 @@ namespace NPSharp.RPC.Messages public byte[] Serialize(uint id) { #if DEBUG - Log.DebugFormat("Packet[ID={0},Type={1},TypeName={2}] {{", id, GetTypeId(), GetType().Name); + Log.DebugFormat("RPCClientMessage[ID={0},Type={1},TypeName={2}] {{", id, GetTypeId(), GetType().Name); foreach (var prop in GetType().GetProperties()) { Log.DebugFormat("\t{0} = {1}", prop.Name, prop.GetValue(this)); diff --git a/src/libnpsharp/RPC/Messages/RPCServerMessage.cs b/src/libnpsharp/RPC/Messages/RPCServerMessage.cs index ce1eccc..c307775 100644 --- a/src/libnpsharp/RPC/Messages/RPCServerMessage.cs +++ b/src/libnpsharp/RPC/Messages/RPCServerMessage.cs @@ -91,8 +91,8 @@ namespace NPSharp.RPC.Messages packet.MessageId = pid; #if DEBUG - Log.DebugFormat("ServerMessage[ID={0},Type={1},TypeName={2}] {{", pid, packet.GetTypeId(), packet.GetType().Name); - foreach (var prop in packet.GetType().GetProperties()) + Log.DebugFormat("RPCServerMessage[ID={0},Type={1},TypeName={2}] {{", pid, packet.GetTypeId(), packet.GetType().Name); + foreach (var prop in packet.GetType().GetProperties().Where(p => !(p.DeclaringType is RPCServerMessage))) { Log.DebugFormat("\t{0} = {1}", prop.Name, prop.GetValue(packet)); }