Socket programming məntiqi

Salam dostlar. Nə zamandır məntiqini qavramağa çalışıram, xarici mənbələrə baxıram, amma heç cür oturmur. Dildən asılı olmadan, socket proqramlamanın addım-addım məntiqini izah edə bilərsinizmi?


Yadda saxlama
Kateqoriya: Sual . , , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (4 cavab var)

(17:59, 07/01/2019 ) #73886

Nə oxumusunuz və sizə əsas çatmayan nədir, zəhmət olmasa onu deyin öncə. Ki görək nələri oxumusuz nələr qaranlıq qalıb

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(18:49, 07/01/2019 ) #73887

Socket-in özünün məntiqi çatmır mənə. Yəni server ayrı, klient ayrı, TCP protokolları filan, baş şişib qazan olur.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (22:36, 07/01/2019 ) #73889

    socket.io ilə filan bir dənə sadə nümunə qursanız localhostda, hər şey aydın olar.
    Ən loru dildə deyim, veb sayt üzərində:

    socket canlı bağlantı kanalıdır.

    Client – siz.
    Server – saytın serveri.

    Saytın serverində proqramı qurulur.
    Saytın kodunda javascript ilə bu socket serverə bağlantı scripti olur.
    Siz sayta daxil olmaqla həmin javascript işə düşür və sizin brauzerinizdə açdığınız sayt ilə saytın serveri arasında canlı bağlantı yaranır – bu canlı bağlantı zamanı tutaq ki serverə siz nəsə mesaj göndərirsiniz, bu zaman sizin mesajın serverə getməsi üçün yeni bir bağlantı qurulmur, socket tuneli açıqdır deyə mesaj oradan axıb gedir çatır. Eləcə də server o mesajı alır və sizə cavab verir tutaq ki, yenə də eyni tunellə geri qayıdır.

    Adi halda necə olur bəs. Siz serverə mesaj göndərəndə düyməyə basanda yeni http bağlantı qurulur, domain, ip filan üzərindən server tapılır, veb server sizin göndərdiyiniz mesaja uyğun http sorğunu veb serverlə qəbul edir, sonra emal edir və cavab qaytarır. Bu hər bir sadə sorğuda təzədən baş verir.
    Socketdə isə sayt ilə sizin brauzer bir növ xəttdə qalırlar, canlı yayında.

    Protokollar ilə, texniki dillə yox, sadə formada izah məncə daha vacibdir. Bu aydın olandan sonra texniki tərəfini mənimsəmək çox asandır.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(09:00, 09/01/2019 ) #73908

Sizə UNIX Network Programming kitabını oxumağı məsləhət görürəm. Addım-addım izah olunur socket-in nə olduğu. Qısa belə izah eləmək olar.
Əvvəlcə eyni kompüterdə icra olunan iki proqram təsəvvür edin. İcra olunan proqrama proses deyilir. A və B prosesləri. Tutaq ki biz A prosesindən hər-hansı məlumatı B prosesinə göndərmək istəyirik. Bunun üçün nədən istifadə etməliyik? Əlbəttə ki Proseslər Arası Əlaqə Vastələrindən. Bunlara aiddir: Proqram kanalları, Fifolar, Message Queue-lar, Shared Memory və əlbəttə ki Soket-lər. Socket-lər dən fərqli olaraq digərləri yalnız eyni kompüterdə icraolunan proqramlar arasında əlaqə yaratmağa imkan verir. Yalnız Socketlər müxtəlif kompüterlərdə(şəbəkə vastəsilə qoşulmuş) icra olunan proqramlar arasında əlaqə yaratmağa imkan verir.

Qəbul olunmuş qaydaya görə bu əlaqə(bir prosesin digərinə qoşulması) aşağıdakı sxem üzrə baş verir:
1.Əvvəlcə Proseslərdən biri əlaqə qəbul etməyə hazırlaşır və bunun üçün gərəkən bütün hazırlıq işlərini görür.
2. Daha sonra həmin bu proses oturur və digərlərinin onunla əlaqə qurmaq üçün müraciət etməsini gözləyir.
3. Hər-hansı digər proses həmin bu proseslə əlaqə qurmaq üçün onun hansı kompüterdə gözlədiyini(İP ünvan) və hansı nömrə ilə ona qoşulmağın mümkün olduğunu bilməlidir(port number).
4. Bu məlumatları bilən proses əlaqə üçün müraciət edir və oturub gözləyən proses əlaqəni yaradır.
Gözləyən proses adlanır server, qoşulan proses adlanır client. Server prosesinin icra olunduğu kompüter adlanır host.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

Software Developer cavab verdi - Payoneer kartdan pul çıxartdıqda vergi (13 saat əvvəl)

Software Developer cavab verdi - Wise vasitəsilə bank kartına pul köçürmə (4 gün əvvəl)

Software Developer cavab verdi - Rus dilindən mətni tərcümə etmək (5 gün əvvəl)

Cənab cavab verdi - Almanca söz bazası yığmaq (8 gün əvvəl)

rdrobert cavab verdi - Mikrofon süngərinə yazı (9 gün əvvəl)

rdrobert cavab verdi - Yerli virtual olaraq dost tapmaq platforması (9 gün əvvəl)

rdrobert cavab verdi - Almanca söz bazası yığmaq (9 gün əvvəl)

rdrobert cavab verdi - Playstation 4 almaq, Playsation klub açmaq (9 gün əvvəl)

rdrobert cavab verdi - Proqramistin ixtsasi hansidir? (9 gün əvvəl)

Software Developer cavab verdi - Azercell Kabinetim aplikasiyasında İstəSən tarifi haqqında (10 gün əvvəl)

Software Developer cavab verdi - Proqramistin ixtsasi hansidir? (10 gün əvvəl)

byshako cavab verdi - Google Azərbaycan nömrələrini qəbul etmir (20 gün əvvəl)

rdrobert cavab verdi - Honeygain, passiv gelir (22 gün əvvəl)

rdrobert cavab verdi - Xaricdən telefon getirmek (22 gün əvvəl)

rdrobert cavab verdi - Google Azərbaycan nömrələrini qəbul etmir (22 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 607 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23236 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2024