Преглед на файлове

fixed: 向客户端发送消息的时候, 类型错误导致客户端无法进入对应的处理分支.

王刚 преди 3 години
родител
ревизия
dc9b5646d9
променени са 2 файла, в които са добавени 6 реда и са изтрити 4 реда
  1. 1 0
      CSserver/BattleRoom/server/Peer.cs
  2. 5 4
      CSserver/BattleRoom/server/Room.cs

+ 1 - 0
CSserver/BattleRoom/server/Peer.cs

@@ -143,6 +143,7 @@ namespace BattleRoom
                 try
                 {
                     var msg = await sendDataBuffer.Reader.ReadAsync();
+                    Console.WriteLine($"向客户端发送消息{msg._protocallType}");
                     await Sock.SendAsync(new ArraySegment<byte>(msg.ToBytes()), SocketFlags.None);
                 }
                 catch (Exception)

+ 5 - 4
CSserver/BattleRoom/server/Room.cs

@@ -134,7 +134,7 @@ namespace BattleRoom
             if (ClientPeers.TryGetValue(peerId, out var peer))
             {
                 var info = new SC_BT_Status() { PropertyName = msg.PropertyName, Value = msg.Value, SenderUid = msg.SenderUid, Zoneid = msg.Zoneid };
-                this.Broadcast(TargetType.Others, eProtocalCommand.CsBtStatus, info);
+                this.Broadcast(TargetType.Others, eProtocalCommand.ScBtStatus, info);
             }
         }
         void On_BtPosition(int peerId, sSocketData data)
@@ -143,7 +143,7 @@ namespace BattleRoom
             if (ClientPeers.TryGetValue(peerId, out var peer))
             {
                 var info = new SC_BT_Position() { X = msg.X, Y = msg.Y, Z = msg.Z, SenderUid = msg.SenderUid, Zoneid = msg.Zoneid };
-                this.Broadcast(TargetType.Others, eProtocalCommand.CsBtStatus, info);
+                this.Broadcast(TargetType.All, eProtocalCommand.ScBtPostion, info);
             }
         }
         void On_BtBroadCast(int peerId, sSocketData data)
@@ -152,7 +152,7 @@ namespace BattleRoom
             if (ClientPeers.TryGetValue(peerId, out var peer))
             {
                 var info = new SC_BT_BroadCast() { Msg = msg.Msg, SenderUid = msg.SenderUid, Zoneid = msg.Zoneid };
-                this.Broadcast(TargetType.Others, eProtocalCommand.CsBtStatus, info);
+                this.Broadcast(TargetType.Others, eProtocalCommand.ScBtBroadCast, info);
             }
         }
 
@@ -162,7 +162,7 @@ namespace BattleRoom
             if (ClientPeers.TryGetValue(peerId, out var peer))
             {
                 var info = new SC_BT_Over() { Msg = msg.Msg, SenderUid = msg.SenderUid, Zoneid = msg.Zoneid };
-                this.Broadcast(TargetType.Others, eProtocalCommand.CsBtStatus, info);
+                this.Broadcast(TargetType.Others, eProtocalCommand.ScGameOver, info);
             }
         }
 
@@ -215,6 +215,7 @@ namespace BattleRoom
                     this.ClientPeers.Values.ToList().ForEach(p => p.SendEvent(msgType, msg));
                     break;
                 case TargetType.Others:
+                    this.ClientPeers.Values.ToList().ForEach(p =>p.SendEvent(msgType, msg));
                     break;
             }