/// <summary> /// Begins listening and accepting server connections. /// </summary> public void startServer() { if (state == ServerState.STOPPED) { try { serverListener = new TcpListener(IPAddress.Any, port); serverListener.Start(BACKLOG); serverListener.BeginAcceptSocket(new AsyncCallback(socketAcceptCallback), new VideoSocketHandler()); frameQueue.startQueue(); state = ServerState.STARTED; } catch (SocketException e) { throw new InvalidServerStateException("Could not start server. " + e.Message); } } else { throw new InvalidServerStateException("Server has all ready started"); } }