示例#1
0
 private void SetupSocket(Socket socket)
 {
     _socket = new EasyTaskSocket(socket);
     _socket.StartJobs(EasyTaskSocket.SocketTasks.Receive);
     _socket.OnSent     += OnSent;
     _socket.OnReceived += (sender, args) =>
     {
         _packetParser.Continue(args);
         _socket.GiveBack(args.Buffer);
     };
 }
示例#2
0
        public void Start()
        {
            if (_serverSocket != null)
            {
                throw new InvalidOperationException("You can only start the server once");
            }

            _logger.LogInformation("Setting up tcp accept socket");
            var listener = new TcpListener(_config.IP, _config.Port);

            listener.Start();
            _serverSocket             = new EasyTaskSocket(listener.Server);
            _serverSocket.OnAccepted += OnClientConnected;

            if (!_serverSocket.StartJobs(EasyTaskSocket.SocketTasks.Accept))
            {
                throw new Exception("Could not start network jobs");
            }

            _logger.LogInformation("Server online!");
        }