Exemplo n.º 1
0
        /// <inheritdoc/>
        public void Start(BaseClientRepository clientRepository, int maxClients, int port = Constants.DefaultPort)
        {
            ClientRepository = clientRepository;
            MaxClients       = maxClients;
            Port             = port;

            if (_packetHandler.Get(0) == null)
            {
                _packetHandler.AddPacketHandler(0, clientRepository.HandleWelcomeReceived);
            }
            InitServerData();

            _tcpListener = new TcpListener(IPAddress.Any, Port);
            _tcpListener.Start();
            _tcpListener.BeginAcceptTcpClient(new AsyncCallback(TCPConnectCallback), null);

            UdpListener = new UdpClient(Port);
            UdpListener.BeginReceive(UDPReceiveCallback, null);

            IsRunning = true;

            OnServerStarted?.Invoke(this, new EventArgs());
        }
Exemplo n.º 2
0
 /// <inheritdoc/>
 public void AddPacketHandler(int id, PacketHandlerDelegate handler)
 {
     _packetHandler.AddPacketHandler(id, handler);
 }