public void Send(Peer peer, short opcode, ISerializablePacket packet) { if (peer == null || !peer.IsConnected) { return; } using (PooledNetWriter w = NetWriterPool.GetWriter()) { MessageHelper.CreateAndFinalize(w, opcode, packet); var segment = w.ToArraySegment(); if (NetLogFilter.messageDiagnostics) { NetDiagnostics.OnSend(opcode, segment.Count, 1); } if (!isSimulated) { peer.SendMessage(segment, UDPTransport.Source.Server); } else { peer.SendSimulatedMessage(segment, UDPTransport.Source.Server); } } }
public void Send(short opcode, ISerializablePacket packet) { using (PooledNetWriter w = NetWriterPool.GetWriter()) { MessageHelper.CreateAndFinalize(w, opcode, packet); var segment = w.ToArraySegment(); if (NetLogFilter.messageDiagnostics) { NetDiagnostics.OnSend(opcode, segment.Count, connectedPeers.Values.Count); } if (!isSimulated) { foreach (var peer in connectedPeers.Values) { peer.SendMessage(segment, UDPTransport.Source.Server); } } else { foreach (var peer in connectedPeers.Values) { peer.SendSimulatedMessage(segment, UDPTransport.Source.Server); } } } }
private void Update() { ping = ServerTime.Rtt * 0.5f; if (NetLogFilter.messageDiagnostics) { NetDiagnostics.AverageThroughput(Time.time); outRate = NetDiagnostics.aveBytesOut / 1000f; inRate = NetDiagnostics.aveBytesIn / 1000f; } }
private void HandleData(int connectionID, ArraySegment <byte> buffer, int channelID) { if (connectedPeers.TryGetValue(connectionID, out Peer peer)) { IncomingMessage msg = MessageHelper.FromBytes(buffer, peer); if (NetLogFilter.messageDiagnostics) { NetDiagnostics.OnReceive(msg.OpCode, buffer.Count, connectionID); } PeerMessageReceived(msg); } }
private void HandleData(ArraySegment <byte> buffer, int channelID) { if (ServerPeer == null) { return; } IncomingMessage msg = MessageHelper.FromBytes(buffer, ServerPeer); if (NetLogFilter.messageDiagnostics) { NetDiagnostics.OnReceive(msg.OpCode, buffer.Count, connectionID); } PeerMessageReceived(msg); }
/// <summary> /// Sends a message to server. /// </summary> /// <param name="msg"></param> /// <param name="qos"></param> public void Send(short opcode, ISerializablePacket packet)/* OutgoingMessage msg)*/ { if (!IsConnected) { return; } using (PooledNetWriter w = NetWriterPool.GetWriter()) { MessageHelper.CreateAndFinalize(w, opcode, packet); var segment = w.ToArraySegment(); if (NetLogFilter.messageDiagnostics) { NetDiagnostics.OnSend(opcode, segment.Count, 1); } Send(segment); } }