Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Протокол взаємодії додатків клієнта та сервера



Протокол взаємодії сервера з клієнтом базується на основі отримання запитів від клієнта, їх обробці та відсилання відповідей на них.

Якщо сервер отримує повідомлення про те, що з’явився новий клієнт (Command.Login), то записуємо його у список користувачів онлайн (clientList.Add(clientInfo)) і відсилаємо всім користувачам (msgToSend.strMessage = "<- (" + msgReceived.strName + ") is ONLINE").

Якщо клієнт відключається, сервер отримує про це повідомлення (Command.Logout), видаляє користувача зі списку тих, хто онлайн (clientList.RemoveAt(nIndex)), і відсилає повідомлення усім користувачам (msgToSend.strMessage = "-> (" + msgReceived.strName + ") is OFFLINE").

Новому клієнту сервер відсилає список всіх користувачів онлайн (msgToSend.strMessage += client.strName + "*").

Сервер починає прослуховування до отримання нових повідомлень (clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None, newAsyncCallback(OnReceive), clientSocket)).

Якщо на сервер приходить текстове повідомлення від клієнта (msgToSend.cmdCommand == Command.Message), пересилаємо його необхідному клієнтові (clientInfo.socket.BeginSend(message, 0, message.Length, SocketFlags.None,newAsyncCallback(OnSend), clientInfo.socket)).





Дата публикования: 2014-11-29; Прочитано: 387 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...