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); }; }
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!"); }