Организация аудио связи по локальной сети между рабочими станциями в дуплексном режиме - Курсовая работа

бесплатно 0
4.5 161
Анализ существующих систем организации аудиосвязи. Протоколы аудиопереачи. Архитектура сетевого взаимодействия. Алгоритм серверного приложения. Структура клиентского приложения. Выбор языка программирования и средств разработки. Требования к системе.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Сокращения и термины 1. Исследовательская часть 1.1 Техническое задание 1.2 Анализ существующих систем организации аудиосвязи 1.3 Протоколы аудиопереачи Вывод по исследовательской части 2. Конструкторская часть 2.1 Архитектура сетевого взаимодействия 2.2 Описание протокола передачи данных 2.2.1 Взаимодействие клиента с сервером 2.2.2 Взаимодействие между клиентами 2.3 Алгоритм серверного приложения 2.4 Структура клиентского приложения Вывод по конструкторской части 3. Технологическая часть 3.1 Выбор языка программирования и средств разработки 3.2 Требования к системе 3.3 Описание программных модулей проекта 3.3.1 Описание модулей серверного приложения 3.3.2 Описание модулей клиентского приложения 3.4 Описание пользовательского интерфейса Вывод по технологической части Заключение Приложения Введение Аудиоконференцсвязь - областьинформационной технологии connectedUsers; AudioTransceiver audiotransceiver; bool isTransfering; public Client(String _nickName, String _password, frmClient _form) { nickName = _nickName; password = _password; form = _form; socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); connectedUsers = new List(); } public String GetUserName() { return nickName; } public void Connect(String hostName) { //Подключаемся к серверу socket.Connect(hostName, 11000); int port = ((IPEndPoint)socket.LocalEndPoint).Port - 1000; IPAddress ipAddress = ((IPEndPoint)socket.LocalEndPoint).Address; audiotransceiver = new AudioTransceiver(ipAddress, port); byte messageType = (byte)Messages.AuthorizationRequest; SocketWriter.WriteType(socket, (byte)messageType); SocketWriter.WriteString(socket, password); User userToWrite = new User(nickName, new IPEndPoint(ipAddress, 11100)); SocketWriter.WriteUserRecord(socket, userToWrite); audiotransceiver.AudioEndHandler = new EmptyHandler(AudioEnd); mainThread = new Thread(MainThread); mainThread.IsBackground = true; mainThread.Start(); } void AudioEnd() { } public void Stop() { try { SocketWriter.WriteType(socket, (byte)Messages.IQuit); socket.Disconnect(false); if (audiotransceiver != null) audiotransceiver.Dispose(); mainThread.Abort(); } catch { } } void MainThread() { try { while (true) { byte messageType = SocketReader.ReadType(socket); switch (messageType) { case (byte)Messages.AuthorizationFailed: { messageType = SocketReader.ReadType(socket); if (messageType == (byte)Messages.WrongPassword) { MessageBox.Show(Неверный пароль); form.Invoke(form.disconnect); } else if (messageType == (byte)Messages.WrongName) { MessageBox.Show(Пользователь с таким именем уже есть в сети); form.Invoke(form.disconnect); } break; } case (byte)Messages.AuthorizationSuccess: { int userNum = SocketReader.ReadInt(socket); for (int i = 0; i users; private List connections; private string password; public Server(String _ipAddress, int _port, String _logFileName, String _password) { ipAddress = IPAddress.Parse(_ipAddress); port = _port; logWriter = new LogWriter(_logFileName); users = new List(); connections = new List(); password = _password; } public void Start() { //Устанавливаем локальную конечную точку IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, port); //Создаем сокет, привязываем его к конечной точке и начинаем прослушивание socket = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp); socket.Bind(ipEndPoint); socket.Listen(10); //Создаем поток для приема соединений от клиентов mainThread = new Thread(MainThread); mainThread.IsBackground = true; mainThread.Start(); // сообщаем об этом логу logWriter.WriteToLogFile(Сервер запущен.

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?