|
Udp protokoli asosida videokonferensiya dasturiy ta'minotini yaratish. Mundarija
|
bet | 8/15 | Sana | 19.12.2023 | Hajmi | 485,25 Kb. | | #124231 |
Bog'liq UDP protokoli asosida videokonferensiya dasturiy ta\'minotini yaratish2.4 Mijoz ilovalari tuzilishi
Mijoz ilovasining vazifalari bir tomondan foydalanuvchi bilan, ikkinchi tomondan server bilan o'zaro aloqada bo'lishdir.
Mijoz ilovasining tuzilishi 2.7-rasmda ko'rsatilgan.
2.7-rasm. Mijoz dastur tuzilishi
Foydalanuvchi interfeysi - foydalanuvchining dasturiy ta'minot to'plami bilan o'zaro aloqasi funktsiyasini bajaradi. Uning yordami bilan serverdan olingan ma'lumotlar (foydalanuvchilar ro'yxati) va boshqa mijozlardan olingan ma'lumotlar (video va ovoz) ekranda ko'rsatiladi.
Serverning o'zaro ta'siri bloki - paketlarni qabul qiladi va uzatadi, qabul qilingan ma'lumotlarga qarab mijozning harakatlarini muvofiqlashtiradi. Ushbu blok foydalanuvchilarni ro'yxatdan o'tkazadi va ularga ruxsat beradi, mavjud foydalanuvchilar ro'yxatini oladi va ma'lumotlar uzatishni boshlash va to'xtatish uchun boshqa mijozlar bilan almashadi.
Blok bilan ishlash algoritmi 2.8-rasmda keltirilgan.
Mijoz serverga ulanish so'rovini yuborgandan so'ng, mijoz quyidagi xabarlardan birini olishi mumkin: Registration/AuthorizationSuccess , Registrtion/AuthrizationFailed , ClientAllreadyConnect . Birinchi turdagi xabarlar bo'lsa, mijoz serverda muvaffaqiyatli ro'yxatdan o'tgan / avtorizatsiya qilingan bo'lsa, u mavjud foydalanuvchilar ro'yxatini olish uchun so'rov yuboradi. Ikkinchi holda, ro'yxatdan o'tish/avtorizatsiya muvaffaqiyatsiz tugadi va ekranda xatolik sababini ko'rsatadigan xabar ko'rsatiladi. Uchinchi xabar bo'lsa, xuddi shu nomdagi foydalanuvchi allaqachon onlayn ekanligini bildiruvchi bildirishnoma ekranda ko'rsatiladi.
ClientConnected xabari boshqa barcha mijozlarga yuboriladi , uni olgandan so'ng mijoz yangi foydalanuvchi haqida ma'lumot so'raydi va uni mavjud foydalanuvchilar ro'yxatiga qo'shadi.
ClientDisconnected xabari yuboriladi , uni olgandan so'ng mijoz mavjud foydalanuvchilar ro'yxatidan foydalanuvchi ma'lumotlarini o'chiradi.
foydalanuvchi haqidagi ma'lumotlarni o'z ichiga olgan TransferRequest turidagi paketni yuboradi .
2.8-rasm. Server bilan o'zaro aloqa blokining ishlash algoritmining blok diagrammasi
Ushbu xabarni olgan mijoz foydalanuvchi ma'lumotlarini o'qiydi va ekranda ulanishni so'ragan xabarni ko'rsatadi. Agar foydalanuvchi video uzatishni boshlashga tayyor bo'lsa, u mijozga turidagi paketni yuboradi TransferSuccess , unda ushbu foydalanuvchi haqida ma'lumot mavjud.
Bunday paketni olgan mijoz foydalanuvchi ma'lumotlarini o'qiydi va video uzatishni boshlaydi.
Agar foydalanuvchi tayyor bo'lmasa yoki video uzatishni boshlashni istamasa, u TransferFailed turidagi paketni yuboradi , uni olgandan so'ng, boshqa mijoz foydalanuvchiga ulanish rad etilganligi haqida xabar beradi.
Video uzatish tugallangach, mijoz TransferEnd xabarini oladi va ma'lumotlarni uzatishni to'xtatadi.
Mijozlarning o'zaro ta'siri bloki boshqa mijozlardan media ma'lumotlarini uzatadi va oladi, shuningdek mijozlar o'rtasidagi o'zaro aloqani tashkil qiladi (ma'lumotlar uzatishni boshlash va to'xtatish so'rovlari).
Veb-kameradan olingan video ma'lumotlar UDP protokoli orqali uzatiladigan kadrlar ketma-ketligiga aylantiriladi. Videoni suratga olish uchun DirectShow kutubxonasidan foydalaniladi. Ovozni yozib olish DirectShow kutubxonasi yordamida ham amalga oshiriladi va keyinchalik UDP protokoli orqali uzatiladigan fragmentlarda buferga yoziladi.
Foydalanuvchi interfeysi server bilan o'zaro ta'sir qilish bloki va mijoz bilan o'zaro ta'sir qilish bloki bilan o'zaro ta'sir qiladi.
|
| |