Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Система проведення аудіоконференцій

Реферат Система проведення аудіоконференцій





justify"> {client=null;

try

{= m_listener. AcceptTcpClient ();

} (SocketException ex)

{. Log («Server: Failed to accept tcp client. Reason:» + ex. Message) ;;

}

. Log («Сервер: Підключення» + client. Client. RemoteEndPoint. ToString ());

thread=new Thread (new ParameterizedThreadStart (HandleClient)) ;. Start (client);// Запуск встановлення з'єднання

}

}

//Потік створення з'єднання з кліентомvoid HandleClient (object objClient)

{client=(TcpClient) objClient;

server=new ACNPServer (client);


//Отримуємо запит від клієнта і відповідно до запиту

//виконуємо авторизацію або підключення вхідного або вихідного потоків

Command command=server. RecieveCommand (); (command == null)

{;

}

handler; data; movedToReady=false; (command. Value)

{Command. CommandType. ClientLogin://Виконуємо авторізаціюloginData=server. GetLoginData (); (loginData == null)

{;

}

//Перевірюємо, чи зареєстрований пользовательfoundUser=GetUser (loginData. UserName, loginData. Password); (foundUser == null)

{. DenyLogin () ;;

}

else//Перевірюємо чи є в списку очікуючих клієнтів

{(IClientHandler clientHandler in m_waiting)

{(clientHandler. GetUserName () == loginData. UserName)

{. DenyLogin () ;;

}

}

(IClientHandler clientHandler in m_ready)

{(clientHandler. GetUserName () == loginData. UserName)

{. DenyLogin () ;;

}

}

id=m_random. Next (1000000);=new ClientHandler (server, foundUser, id) ;. SetCallbacks (this); _ waiting. Add (handler) ;. AcceptLogin (id);

}; Command. CommandType. ClientConnectInput://Реєстрація вхідного потоку=server. RecieveData lt; DataInteger gt; (); (data == null)

{;

}=GetWaitingHandler (data. Id); (handler == null)

{. SendDeny ();

}

inputServer=new ACNPServer (client) ;. SetOutput (inputServer); (handler. IsComplete ())

{(handler);=true;

}. SendAccept () ;;

//Реєстрація вихідного потоку

case Command. CommandType. ClientConnectOutput:=server. RecieveData lt; DataInteger gt; (); (data == null)

{;

}=GetWaitingHandler (data. Id); (handler == null)

{. SendDeny ();

}

outputServer=new ACNPServer (client) ;. SetInput (outputServer); (handler. IsComplete ())

{(handler);=true;

}. SendAccept () ;; :( «Сервер: Помилка.») ;;;

}

(! movedToReady)

{;

}

();

. ControlThread ();

}


//Оновлення списку пользователейvoid RefreshContactLists ()

{(m_ready)

{(IClientHandler clientHandler in m_ready)

{. RefreshContactList ();

}

}

}


//Отримати список пользователейUser GetUser (string name, string password)

{found=null; (m_usersMutex)

{(User user in m_users)

{(user. IsTheSame (name, password))

{= user ;;

}

}

}

found;

}


//Отримати обробник клієнта по ідентіфікаторуIClientHandler GetWaitingHandler (int id)

{(IClientHandler handler in m_waiting)

{(handler. IsYourId (id))

{handler;

}

}

null;

}


//Переміщення обробника клієнта зі списку...


Назад | сторінка 9 з 10 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Встановлення та конфігурування web-сервера на OC ALT Linux Server 5
  • Реферат на тему: Встановлення та налаштування Windows Server и UserGate 4.0
  • Реферат на тему: Створення бази даних в СУБД MS SQL Server
  • Реферат на тему: Створення бази даних у середовищі SQL SERVER 2012
  • Реферат на тему: Операційна система Windows Server 2008