Guruh F. I ball


Laboratoriyaning amaliy qismi


Download 1.88 Mb.
bet9/10
Sana18.12.2022
Hajmi1.88 Mb.
#1029253
1   2   3   4   5   6   7   8   9   10
Bog'liq
612-19 guruh Akbarova Mohigul 5-dedline

Laboratoriyaning amaliy qismi.
Server yaratish
"Server" ni amalga oshirish uchun biz SQL va PHP bilan ishlashga imkon beruvchi har qanday xostingda ro‘yxatdan o‘tishimiz kerak.

Bo‘sh SQL ma'lumotlar bazasini yarating va unda jadval yarating. suhbat stoli.


Tuzilishi quyidagicha:

muallif - xabar muallifi;



  1. mijoz - xabarni oluvchi;

  2. ma'lumotlar - serverda xabar qabul qilingan vaqt va sana;

  3. matnli xabar.

Keyingi ikkita faylda siz uchun ma'lumotlarni o‘z ichiga olgan o‘zgaruvchilarni o‘zgartirishingiz kerak


kirish uchun JB, ustida ularning, qabul qildi Siz da ro‘yxatdan o‘tish sizning "serveringiz".





$mysql_host = "localhost"; // sql server, mahalliy yoki tashqi bo‘lishi mumkin. Masalan



ep mysql5.000webhost.com






$mysql_user = "l29340eb_chat"; // foydalanuvchi






$mysql_password = "123456789"; // parol






$mysql_database = "l29340eb_chat"; // SQL serveridagi ma'lumotlar bazasi nomi




Chat.php fayli bizning api bo‘lib, u serverga tushunarli bo‘lgan so‘rovlar tuzilishini amalga oshiradi.


Tuzilishi so‘rovlar uchun API:



  • talab qilinadigan atribut harakati - tanlashga teng bo‘lishi mumkin (server o‘z ma'lumotlar bazasidan yozuvlar ro‘yxati bilan javob beradi), kiritish (server o‘z ma'lumotlar bazasiga yangi yozuv qo‘shadi), o‘chirish (server ma'lumotlar bazasini tozalaydi)

  • agar action=insert bo‘lsa, biz qo‘shimcha parametrlarni o‘tkazishimiz kerak bo‘ladi: muallif (xabarni yozgan), mijoz (xabar kimga qaratilgan), matn (xabar)

  • action=select qoʻshimcha maʼlumotlar parametrini oʻz ichiga olishi mumkin, bu holda server javobi maʼlumotlar bazasidan barcha xabarlarni emas, faqat yaratilish vaqti yuborilganidan kechroq boʻlgan xabarlarni oʻz ichiga oladi.

Misollar:



  • chat.php?action=delete - serverdagi barcha yozuvlarni o‘chirib tashlaydi

  • chat.php?action=insert&author=Jon&client=Smith&text=Salom - serverga yangi yozuv qo‘shadi: muallif Jon, qabul qiluvchi Smit, kontent Salom

  • chat.php?action=select&data=151351333 - o‘tgan vaqtdan keyin olingan barcha yozuvlarni uzoq formatda qaytaradi

showBD.php fayli brauzerda maʼlumotlar bazasi tarkibini vizual koʻrsatish uchun qoʻshimcha skriptdir.


Mijoz tomoni

Endi Android ilovasining tuzilishi:


FoneService.java fonda ishlaydi, u alohida trekda har 15 soniyada serverga so‘rov yuboradi. Agar server javobida yangi xabarlar bo‘lsa, FoneService.java ularni mahalliy ma'lumotlar bazasiga yozadi va ListView-ni xabarlar bilan yangilash uchun ChatActivity.java-ga xabar yuboradi. ChatActivity.java (agar u hozir ochiq bo‘lsa) xabarni oladi va mahalliy ma'lumotlar bazasidan ListView tarkibini yangilaydi.


ChatActivity.java-dan yangi xabar yuborish FoneService.java-ni chetlab o‘tib, darhol serverga yuboriladi. Shu bilan birga, bizning xabarimiz mahalliy ma'lumotlar bazasiga yozilmagan! U yerda faqat server javobi ko‘rinishida qaytarib olingandan keyin paydo bo‘ladi. Men ushbu dasturni har qanday Internet chatining ishlashidagi muhim nuance bilan bog‘liq holda ishlatganman - xabarlarni vaqt bo‘yicha majburiy guruhlash. Vaqt bo‘yicha guruhlashdan foydalanmasangiz, xabarlar ketma-ketligi buziladi. Mijoz ilovalarini jismonan millisekundlar ichida sinxronlash mumkin emasligini va hatto turli vaqt zonalarida ishlashi mumkinligini hisobga olsak, server vaqtidan foydalanish eng mantiqiy bo‘ladi. Biz buni shunday qilamiz.


Yangi xabar yaratishda biz serverga so‘rov yuboramiz: xabar muallifining ismi, xabarni qabul qiluvchining ismi, xabar matni. Ushbu yozuvni server javobi sifatida qaytarib olib, biz yuborgan narsani olamiz + to‘rtinchi parametr: server xabarni qabul qilgan vaqt.

MainActivity.java-da aniqlik uchun men mahalliy ma'lumotlar bazasidan xabarlarni o‘chirish imkoniyatini qo‘shdim - bu dasturni toza o‘rnatishga teng (bu holda FoneService tanlangan barcha xabarlarni qabul qilish uchun serverga so‘rov yuboradi. suhbat). Bundan tashqari, serverda joylashgan ma'lumotlar bazasidan barcha xabarlarni o‘chirish uchun so‘rov yuborish mumkin.





Download 1.88 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling