/* LiteNetLib handler */ public override void OnNetworkReceive(NetPeer connection, NetDataReader reader) { PayloadMessage message = ProtobufUtility.Unserialize <PayloadMessage>(reader.Data); var sessionId = _sessions.GetBySecond(connection); _lastMessageTicks[sessionId] = DateTime.Now.Ticks; _handleMessage(message.payload, sessionId); }
/* LiteNetLib handler */ public override void OnNetworkReceive(NetPeer connection, NetDataReader reader) { try { PayloadMessage message = ProtobufUtility.Unserialize <PayloadMessage>(reader.Data); //Debug.Log("Received message " + message.payload.GetType()); _handleMessage(message.payload); } catch (Exception e) { Debug.LogError("Error while receiving message: " + e); } }
private void _send(IMessageBase message, SendOptions options) { try { byte[] messageBytes = ProtobufUtility.Serialize(new PayloadMessage { payload = message }); //Debug.Log("Sending message " + message.GetType()); _server.Send(messageBytes, options); } catch (Exception e) { Debug.LogError("Error while sending message: " + e); } }
public void CleanupUntil(long minTurnEnd) { lock (Events) { var eventsToDelete = Events.Where(event_ => event_.TurnEnd < minTurnEnd).ToList(); // save to file if (_logToFile) { byte[] bytes = ProtobufUtility.Serialize(eventsToDelete); byte[] lengthBytes = BitConverter.GetBytes(bytes.Length); File.WriteAllBytes(_logFileName, lengthBytes); // overwrites! File.WriteAllBytes(_logFileName, bytes); // overwrites! } Events.RemoveAll(event_ => event_.TurnEnd < minTurnEnd); } }
private void _send(IMessageBase message, int sessionId, SendOptions options) { NetPeer connection = null; _sessions.TryGetByFirst(sessionId, out connection); if (connection == null) { Logger.Trace("Not sending because connection for session id is missing."); return; } byte[] messageBytes = ProtobufUtility.Serialize(new PayloadMessage { payload = message }); //if (message.GetType() != typeof(Incentives)) // Debug.Log("Send message " + message.GetType() + " to session " + sessionId); connection.Send(messageBytes, options); }