public void Stop() { server_status = serverStatus.STOP; // task_Loop_ThreadOpen.Dispose(); // task_Loop_ThreadOpen.Wait(); server.Stop(); }
//Callback to get the status of the machines running static void statusCallback(IAsyncResult result) { serverStatus del = (serverStatus)((AsyncResult)result).AsyncDelegate; string state = del.EndInvoke(result); //print the state of the server Console.WriteLine(state); }
void Status() { //iterate trough all servers foreach (KeyValuePair <string, string> ServerProcess in Servers) { //get the server remote object ITSpaceServer server = (ITSpaceServer)Activator.GetObject(typeof(ITSpaceServer), ServerProcess.Value); serverStatus RemoteDel = new serverStatus(server.Status); //initialize the callback to get the result of the asyn call AsyncCallback callback = new AsyncCallback(PuppetMasterService.statusCallback); //make the async call IAsyncResult RemAr = RemoteDel.BeginInvoke(callback, null); } }
public async void startListen() { listener.Start(); status = serverStatus.LISTENING; System.Console.WriteLine("Loading server commands..."); ServerCommands.LoadCmdDict(); System.Console.WriteLine("Server started at {0}", port); while (true) { var client = await listener.AcceptTcpClientAsync(); clientInfo info = new clientInfo(client); System.Console.WriteLine("New user {0} connected.", info.UserName); System.Console.WriteLine("Key: {0}", Convert.ToBase64String(info.Key)); clientList.Add(info); this.clientEvent(info); } }
public void Start(int port) { server = null; try { // Определим нужное максимальное количество потоков // Пусть будет по 4 на каждый процессор int MaxThreadsCount = Environment.ProcessorCount * 4; Console.WriteLine("Максимальное кол-во потоков: " + MaxThreadsCount.ToString()); // Установим максимальное количество рабочих потоков ThreadPool.SetMaxThreads(MaxThreadsCount, MaxThreadsCount); // Установим минимальное количество рабочих потоков ThreadPool.SetMinThreads(2, 2); // Устанавливаем порт для TcpListener = 9595. //IPAddress localAddr = IPAddress.Parse("127.0.0.1"); server = new TcpListener(IPAddress.Any, port); // Запускаем TcpListener и начинаем слушать клиентов. server.Start(); server_status = serverStatus.START; // Принимаем клиентов в бесконечном цикле. Task task_Loop_ThreadOpen = new Task(Loop_ThreadOpenner); task_Loop_ThreadOpen.Start(); } catch (SocketException e) { //В случае ошибки, выводим что это за ошибка. Console.WriteLine("SocketException: {0}", e); // Останавливаем TcpListener. Stop(); } }
//IPAddress localAddr=IPAddress.Parse("0.0.0.0"); public chatServer() { status = serverStatus.UN_INITIALIZED; listener = new TcpListener(IPAddress.Any, 4321); }