Esempio n. 1
0
 /// <summary>
 /// Tcp客户端连接断开,通知业务层
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="clientPoint"></param>
 public void OnTcpClientClosed(object sender, EndPoint clientPoint)
 {
     var token = ClientConnectManager.GetToken(clientPoint.ToString());
     PacketHead head = new PacketHead(ConnectType.Tcp, PacketMsgType.Closed);
     head.GameId = token.GameId;
     head.ServerId = token.ServerId;
     head.Uid = token.Uid;
     var session = GameSessionManager.GetSession(head.GameId, head.ServerId);
     if (session == null)
     {
         return;
     }
     head.Address = session.GameAddress;
     head.EnableGzip = false;
     PacketMessage packet = new PacketMessage();
     packet.Head = head;
     packet.Content = new byte[0];
     if (CheckConnected(head.Address))
     {
         OnSendToGame(head.Address, packet.ToByte());
     }
 }
Esempio n. 2
0
 protected PacketMessage ParsePacketMessage(string clientAddress, string paramString, ConnectType connectType)
 {
     ParamGeter paramGeter = new ParamGeter(paramString);
     PacketHead head = new PacketHead(connectType, PacketMsgType.Request);
     head.Address = clientAddress;
     head.MsgId = paramGeter.GetInt("msgid");
     head.Uid = paramGeter.GetInt("uid");
     head.ActionId = paramGeter.GetInt("actionId");
     string[] sidArray = paramGeter.GetString("sid").Split('|');
     if (sidArray.Length > 2)
     {
         head.GameId = sidArray[1].ToInt();
         head.ServerId = sidArray[2].ToInt();
     }
     else
     {
         head.GameId = paramGeter.GetInt("gametype");
         head.ServerId = paramGeter.GetInt("serverid");
     }
     head.EnableGzip = false;
     PacketMessage packet = new PacketMessage();
     packet.Head = head;
     packet.Content = BufferUtils.GetBytes(paramString);
     return packet;
 }