public static RakString operator +(RakString a, RakString b) { return(RakNet.OpPlus(a, b)); }
private void OnDisconnection(RakNet.Packet packet, RakPeerInterface server,string reason) { logger.Trace("Disconnected from endpoint {0}", packet.systemAddress); var c = RemoveConnection(packet.guid); server.DeallocatePacket(packet); _handler.CloseConnection(c,reason); var action = ConnectionClosed; if (action != null) { action(c); } c.ConnectionClosed(reason); }
private void OnMessageReceived(RakNet.Packet packet) { //var messageId = packet.data[0]; var connection = GetConnection(packet.guid); var stream = new MemoryStream((int)packet.length); //var buffer = new byte[packet.data.Length]; stream.Write(packet.data, 0, (int)packet.length); stream.Seek(0, SeekOrigin.Begin); _peer.DeallocatePacket(packet); //logger.Trace("message arrived: [{0}]", string.Join(", ", buffer.Select(b => b.ToString()).ToArray())); var p = new Stormancer.Core.Packet( connection, stream); this.PacketReceived(p); }
private IConnection OnConnection(RakNet.Packet packet, RakPeerInterface server) { logger.Trace("Connected to endpoint {0}", packet.systemAddress); IConnection c = CreateNewConnection(packet.guid, server); var ctx = new PeerConnectedContext { Connection = c }; var pconnected = _connectionHandler.PeerConnected; if(pconnected !=null) { pconnected(ctx); } c = ctx.Connection; server.DeallocatePacket(packet); _handler.NewConnection(c); var action = ConnectionOpened; if (action != null) { action(c); } c.SendSystem((byte)MessageIDTypes.ID_CONNECTION_RESULT, s => s.Write(BitConverter.GetBytes(c.Id), 0, 8)); return c; }
static void ProcessMessage(RakPeerInterface peer, RakNet.Packet packet) { if (packet != null) { if (packet.data[0] == (byte)(FT_MessageTypes.ID_SERVER_LOGIN)) { BitStream receiveBitStream = new BitStream(); receiveBitStream.Write(packet.data, packet.length); receiveBitStream.IgnoreBytes(2); FT_UnitData data = new FT_UnitData(); data.Serialize(false, receiveBitStream); Log.Debug(" data.nGrid_x: " + data.nGrid_x); BitStream writeBitStream = new BitStream(); writeBitStream.Write((byte)FT_MessageTypes.ID_SERVER_LOGIN); writeBitStream.Write((byte)FT_MessageTypesNode.NODE_FT_TEST1); data.Serialize(true, writeBitStream); uint sendLength = peer.Send(writeBitStream, PacketPriority.HIGH_PRIORITY, PacketReliability.RELIABLE_ORDERED, (char)0, packet.systemAddress, false); Log.Debug("SendLength = " + sendLength); } } }
private void OnMessageReceived(RakNet.Packet packet) { var connection = GetConnection(packet.guid); var buffer = new byte[packet.data.Length]; packet.data.CopyTo(buffer, 0); _peer.DeallocatePacket(packet); //logger.Trace("message arrived: [{0}]", string.Join(", ", buffer.Select(b => b.ToString()).ToArray())); var p = new Stormancer.Core.Packet( connection, new MemoryStream(buffer)); this.PacketReceived(p); }
private void OnConnection(RakNet.Packet packet, RakPeerInterface server) { logger.Trace("Connected to endpoint {0}", packet.systemAddress); var c = CreateNewConnection(packet.guid, server); server.DeallocatePacket(packet); _handler.NewConnection(c); var action = ConnectionOpened; if (action != null) { action(c); } c.SendSystem((byte)MessageIDTypes.ID_CONNECTION_RESULT, s => s.Write(BitConverter.GetBytes(c.Id), 0, 8)); }
private void OnMessageReceived(RakNet.Packet packet) { var messageId = packet.data[0]; var connection = GetConnection(packet.guid); var stream = new MemoryStream((int)packet.length); //var buffer = new byte[packet.data.Length]; stream.Write(packet.data, 0, (int)packet.length); stream.Seek(0, SeekOrigin.Begin); logger.Log(Stormancer.Diagnostics.LogLevel.Trace, "transport", "message received at " + DateTime.Now + "." + DateTime.Now.Millisecond + ": " + string.Join(";", packet.data.Select(b=>b.ToString()).ToArray())); _peer.DeallocatePacket(packet); //logger.Trace("message arrived: [{0}]", string.Join(", ", buffer.Select(b => b.ToString()).ToArray())); var p = new Stormancer.Core.Packet( connection, stream); this.PacketReceived(p); }