/// <summary> /// Recibe un mensaje de TGC por un socket /// </summary> /// <param name="socket">Socket del cual recibir</param> /// <param name="msgType">Tipo de mensaje esperado</param> /// <returns>Mensaje recibido o null si recibió mal</returns> public static TgcSocketRecvMsg receiveMessage(Socket socket, TgcSocketMessageHeader.MsgType msgType) { try { //Recibir header var headerData = new byte[TgcSocketMessageHeader.HEADER_SIZE]; var recv = socket.Receive(headerData, headerData.Length, SocketFlags.None); if (recv == TgcSocketMessageHeader.HEADER_SIZE) { var msgLength = BitConverter.ToInt32(headerData, 0); //Recibir cuerpo del mensaje var msgData = new byte[msgLength]; recv = socket.Receive(msgData, msgData.Length, SocketFlags.None); if (recv == msgLength) { var recvMsg = new TgcSocketRecvMsg(msgData); return(recvMsg); } } } catch (Exception) { return(null); } return(null); }
public TgcSocketClientRecvMesg(TgcSocketRecvMsg msg, int playerId) { Msg = msg; PlayerId = playerId; }