Example #1
0
        /// <summary>
        /// NetManager constructor
        /// </summary>
        /// <param name="listener">Network events listener</param>
        /// <param name="maxConnections">Maximum connections (incoming and outcoming)</param>
        public NetManager(INetEventListener listener, int maxConnections)
        {
            _logicThread = new Thread(UpdateLogic)
            {
                Name = "LogicThread", IsBackground = true
            };
            _socket           = new NetSocket(ReceiveLogic);
            _netEventListener = listener;
            _netEventsQueue   = new SwitchQueue <NetEvent>();
            _netEventsPool    = new Stack <NetEvent>();
            NetPacketPool     = new NetPacketPool();
            NatPunchModule    = new NatPunchModule(this);
            Statistics        = new NetStatistics();
            _peers            = new NetPeerCollection(maxConnections);
            _connectingPeers  = new HashSet <NetEndPoint>();
            _maxConnections   = maxConnections;
            _updateTimeFilter = new long[3];

            // Precreate all needed Merge Packets
            for (int i = 0; i < maxConnections * 3; ++i)
            {
                NetPacket p = NetPacketPool.Get(PacketProperty.Sequenced, 0, NetConstants.MaxPacketSize);
                p.Recycle();
            }
        }
Example #2
0
 public AutoPing(INetWorker netWorker, INetEventListener eventListener)
 {
     this.state          = new ConnState();
     this.state.worker   = netWorker;
     this.state.listener = eventListener;
     this.state.ping     = false;
     this.state.ts       = 0;
 }
Example #3
0
 /// <summary>
 /// Creates server object
 /// </summary>
 /// <param name="listener">Listener of server events</param>
 /// <param name="maxClients">Maximum clients</param>
 /// <param name="key">Application key to identify connecting clients</param>
 public NetServer(INetEventListener listener, int maxClients, string key) : base(listener)
 {
     _peers = new Dictionary<NetEndPoint, NetPeer>();
     _peerConnectionIds = new Dictionary<NetEndPoint, ulong>();
     _peersToRemove = new Queue<NetEndPoint>(maxClients);
     _maxClients = maxClients;
     _connectKey = key;
 }
Example #4
0
 public IntroducerManager(INetEventListener listener, string connectKey)
 {
     _netManager = new NetManager(listener, 12000, connectKey);
     _netManager.UnsyncedEvents    = true;
     _netManager.PingInterval      = 10000;
     _netManager.DisconnectTimeout = 20000;
     _messageHandler = new MessageHandler(MessageHandler.ManagerModus.Intoducer);
 }
Example #5
0
 /// <summary>
 /// Creates server object
 /// </summary>
 /// <param name="listener">Listener of server events</param>
 /// <param name="maxClients">Maximum clients</param>
 /// <param name="key">Application key to identify connecting clients</param>
 public NetServer(INetEventListener listener, int maxClients, string key) : base(listener)
 {
     _peers             = new Dictionary <NetEndPoint, NetPeer>();
     _peerConnectionIds = new Dictionary <NetEndPoint, ulong>();
     _peersToRemove     = new Queue <NetEndPoint>(maxClients);
     _maxClients        = maxClients;
     _connectKey        = key;
 }
Example #6
0
 protected NetBase(INetEventListener listener)
 {
     _socket           = new NetSocket(ReceiveLogic);
     _netEventListener = listener;
     _flowModes        = new List <FlowMode>();
     _netEventsQueue   = new Queue <NetEvent>();
     _netEventsPool    = new Stack <NetEvent>();
     NatPunchModule    = new NatPunchModule(this, _socket);
 }
Example #7
0
 public LiteNet(INetEventListener netEventListener)
 {
     _packetProcessor = new NetPacketProcessor();
     _netManager      = new NetManager(netEventListener)
     {
         AutoRecycle = true,
         IPv6Enabled = IPv6Mode.Disabled
     };
 }
Example #8
0
 public error BindEventListener(INetEventListener eventListener)
 {
     if (this.eventListener == null)
     {
         this.eventListener = eventListener;
         return(errors.nil);
     }
     return(errors.New("this net worker has binded an event listener!!"));
 }
Example #9
0
 public BaseManager(INetEventListener Listener, string ConnectKey)
 {
     _myKeys       = new System.Collections.Hashtable();
     _remoteKeys   = new System.Collections.Hashtable();
     _symmetricKey = new System.Collections.Hashtable();
     _netManager   = new NetManager(Listener, 12000, ConnectKey);
     _netManager.UnsyncedEvents    = true;
     _netManager.PingInterval      = 10000;
     _netManager.DisconnectTimeout = 20000;
 }
Example #10
0
 protected NetBase(INetEventListener listener)
 {
     _logicThread      = new NetThread("LogicThread", DefaultUpdateTime, UpdateLogic);
     _socket           = new NetSocket(ReceiveLogic);
     _netEventListener = listener;
     _flowModes        = new List <FlowMode>();
     _netEventsQueue   = new Queue <NetEvent>();
     _netEventsPool    = new Stack <NetEvent>();
     NatPunchModule    = new NatPunchModule(this, _socket);
 }
Example #11
0
 protected NetBase(INetEventListener listener, ConnectionAddressType addressType)
 {
     _socket           = new NetSocket(addressType);
     _addressType      = addressType;
     _netEventListener = listener;
     _flowModes        = new List <FlowMode>();
     _netEventsQueue   = new Queue <NetEvent>();
     _netEventsPool    = new Stack <NetEvent>();
     _remoteEndPoint   = new NetEndPoint(_addressType, 0);
     NatPunchModule    = new NatPunchModule(this, _socket);
 }
 /// <summary>
 /// NetManager constructor
 /// </summary>
 /// <param name="listener">Network events listener</param>
 public NetManager(INetEventListener listener)
 {
     _socket                 = new NetSocket(this);
     _netEventListener       = listener;
     _netEventsQueue         = new Queue <NetEvent>();
     _netEventsPool          = new Stack <NetEvent>();
     NetPacketPool           = new NetPacketPool();
     NatPunchModule          = new NatPunchModule(_socket);
     Statistics              = new NetStatistics();
     _peers                  = new NetPeerCollection();
     _connectedPeerListCache = new List <NetPeer>();
 }
Example #13
0
 /// <summary>
 /// NetManager constructor
 /// </summary>
 /// <param name="listener">Network events listener</param>
 /// <param name="maxConnections">Maximum connections (incoming and outcoming)</param>
 public NetManager(INetEventListener listener, int maxConnections)
 {
     _socket                 = new NetSocket(ReceiveLogic);
     _netEventListener       = listener;
     _netEventsQueue         = new Queue <NetEvent>();
     _netEventsPool          = new Stack <NetEvent>();
     NetPacketPool           = new NetPacketPool();
     NatPunchModule          = new NatPunchModule(_socket);
     Statistics              = new NetStatistics();
     _peers                  = new NetPeerCollection();
     _connectingPeers        = new HashSet <IPEndPoint>(new IPEndPointComparer());
     _maxConnections         = maxConnections;
     _connectedPeerListCache = new List <NetPeer>();
 }
Example #14
0
        /// <summary>
        /// NetManager constructor
        /// </summary>
        /// <param name="listener">Network events listener</param>
        /// <param name="maxConnections">Maximum connections (incoming and outcoming)</param>
        /// <param name="connectKey">Application key (must be same with remote host for establish connection)</param>
        public NetManager(INetEventListener listener, int maxConnections, string connectKey)
        {
            _logicThread      = new NetThread("LogicThread", DefaultUpdateTime, UpdateLogic);
            _socket           = new NetSocket(ReceiveLogic);
            _netEventListener = listener;
            _flowModes        = new List <FlowMode>();
            _netEventsQueue   = new Queue <NetEvent>();
            _netEventsPool    = new Stack <NetEvent>();
            _netPacketPool    = new NetPacketPool();
            NatPunchModule    = new NatPunchModule(this);

            _connectKey     = connectKey;
            _peers          = new NetPeerCollection(maxConnections);
            _maxConnections = maxConnections;
            _connectKey     = connectKey;
        }
Example #15
0
 /// <summary>
 /// NetManager constructor
 /// </summary>
 /// <param name="listener">Network events listener</param>
 /// <param name="maxConnections">Maximum connections (incoming and outcoming)</param>
 public NetManager(INetEventListener listener, int maxConnections)
 {
     _logicThread = new Thread(UpdateLogic)
     {
         Name = "LogicThread", IsBackground = true
     };
     _socket           = new NetSocket(ReceiveLogic);
     _netEventListener = listener;
     _netEventsQueue   = new Queue <NetEvent>();
     _netEventsPool    = new Stack <NetEvent>();
     NetPacketPool     = new NetPacketPool();
     NatPunchModule    = new NatPunchModule(this);
     Statistics        = new NetStatistics();
     _peers            = new NetPeerCollection(maxConnections);
     _connectingPeers  = new HashSet <NetEndPoint>();
     _maxConnections   = maxConnections;
 }
Example #16
0
        /// <summary>
        /// NetManager constructor
        /// </summary>
        /// <param name="listener">Network events listener</param>
        /// <param name="maxConnections">Maximum connections (incoming and outcoming)</param>
        public NetManager(INetEventListener listener, int maxConnections)
        {
            //_logicThread = new Thread(UpdateLogic) { Name = "LogicThread", IsBackground = true };
            _socket           = new NetSocket(ReceiveLogic);
            _netEventListener = listener;
            _netEventsQueue   = new FastQueue <NetEvent>();
            _netEventsPool    = new Stack <NetEvent>();
            NetPacketPool     = new NetPacketPool();
            NatPunchModule    = new NatPunchModule(this);
            Statistics        = new NetStatistics();
            _peers            = new NetPeerCollection(maxConnections);
            _connectingPeers  = new HashSet <NetEndPoint>();
            _maxConnections   = maxConnections;
            _updateTimeFilter = new long[3];

            // Precreate all needed Merge Packets
            NetPacketPool.PoolLimit = maxConnections * 100;
            //NetPacketPool.Prepool(maxConnections * 2, MtuStartIdx >= 0 && MtuStartIdx < NetConstants.PossibleMtu.Length ? NetConstants.PossibleMtu[MtuStartIdx] : (NetConstants.MaxPacketSize - NetConstants.FragmentHeaderSize));
            //NetPacketPool.Prepool(maxConnections * 20, 16);
        }
Example #17
0
 public NetClient(INetEventListener listener, string connectKey) : base(listener)
 {
     _connectKey = connectKey;
 }
Example #18
0
 public NetClient(INetEventListener listener, string connectKey, ConnectionAddressType addressType) : base(listener, addressType)
 {
     _connectKey = connectKey;
 }
Example #19
0
 /// <summary>
 /// NetManager constructor with maxConnections = 1 (usable for client)
 /// </summary>
 /// <param name="listener">Network events listener</param>
 /// <param name="connectKey">Application key (must be same with remote host for establish connection)</param>
 public NetManager(INetEventListener listener, string connectKey) : this(listener, 1, connectKey)
 {
 }
Example #20
0
 public HostManager(INetEventListener listener, string connectKey) : base(listener, connectKey)
 {
     _messageHandler = new MessageHandler(MessageHandler.ManagerModus.Host, this);
 }
Example #21
0
 /// <summary>
 /// NetManager constructor with maxConnections = 1 (usable for client)
 /// </summary>
 /// <param name="listener">Network events listener</param>
 public NetManager(INetEventListener listener) : this(listener, 1)
 {
 }
Example #22
0
 /// <summary>
 /// Creates server object
 /// </summary>
 /// <param name="listener">Listener of server events</param>
 /// <param name="maxClients">Maximum clients</param>
 /// <param name="key">Application key to identify connecting clients</param>
 public NetServer(INetEventListener listener, int maxClients, string key) : this(listener, ConnectionAddressType.IPv4, maxClients, key)
 {
 }
Example #23
0
 protected NetBase(INetEventListener listener)
 {
     _socket = new NetSocket(ReceiveLogic);
     _netEventListener = listener;
     _flowModes = new List<FlowMode>();
     _netEventsQueue = new Queue<NetEvent>();
     _netEventsPool = new Stack<NetEvent>();
     NatPunchModule = new NatPunchModule(this, _socket);
 }
Example #24
0
 public NetClient(INetEventListener listener, string connectKey) : base(listener)
 {
     _connectKey = connectKey;
 }
Example #25
0
 protected NetBase(INetEventListener listener) : this(listener, ConnectionAddressType.IPv4)
 {
 }