![]() |
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Magas szintű Programozás Post kérdések C, C + +, Java, SQL, és más programozási nyelvek itt. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Kliens szokott kapcsolódni a szerverhez | gerperrett | IP Networking | 2 | 03-29-2008 11:59 AM |
| Héjprogram nem a "nem tud csatlakozni a kliens | sseenu79 | HP-UX | 2 | 12-20-2006 10:47 AM |
| Nem lehet kapcsolódni a szerverhez | srikanthus2002 | A UNIX a dummies Kérdések és válaszok | 4 | 11-28-2006 07:31 AM |
| Remove Server alvó üzemmód | alvintai | SUN Solaris | 16 | 04-08-2005 09:08 AM |
| több szálon szerver, pthreads, alvás | Parahat Melayev | Magas szintű Programozás | 0 | 03-16-2005 12:38 PM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
0. Tekintetében Önnek
1. Köszönöm, hogy elolvasta levelét 2. Kiszolgáló call alvás (20), miután listern (fd, 5). Amikor a szerver-ban alszik, a kliens connect (), hogy ez a sikeres és küld egy csomó ki az adatokat. 3. Miért? Úgy gondolom, hogy a szerver van sleep (beasue hívom sleep ()), hogy Nemkéne blokk accept (), hogyan lehet csatlakozni az ügyfél sikeres, |
|
||||
|
Kliens tud csatlakozni () a Sleeping Server sikeres
1. tekintetében a Perderabo és hála mindenkinek, aki olvassa el a post
2. Én egy kísérlet: Szerver call socket () bind () listern () egymás után, és hívja alvás (30) mögött, és hallgatni, mielőtt hívást fogadni (). Ha a szerver az alvás, a kliens connect () az alvó Server sucessful és küld egy csomó A kijelölt adatok az alvó Server, majd blokk, mert a recvive puffer Server volt teljes (a szerver alszik) 3. Utalok <<Unix Network Programozás>> 1. kötet (szerző: W. Richard Stevens) később. Azt találták, hogy az accept () csak a "vissza a következő kitöltött kapcsolat elölről a kitöltött kapcsolat queue). A listen () függvény nem "......... , Data, hogy érkezik, miután a három-utas kézfogás befejeződik, de mielőtt a szerver hívást fogadni (), meg kell sorba a szerver TCP, legfeljebb, hogy mekkora kapcsolódó aljzat's kapni puffer " 4. Akkor azt hiszem, hogy: a szerver oldalon, miután hívjuk listen (), a Server alkalmazás nyilvántartás kinevezett aljzat a kernel, akkor a kernel ellenőrzi a kijelölt port számát, és várja meg az ügyfél-hoz összeköt. Aztán egy másik kérdés merül fel: 5. Hogyan működik a kernel ellenőrzi a kijelölt kikötőbe, amikor a szerver alkalmazása nem más dolog (azaz call sleep () után a listen (), vagy nem foglalják el a processzort, hogy pontos) 6. Hogyan doese a kernel, hogy tájékoztassa a folyamat, amely az adatok jöttek, ha sok szerver alkalmazása hagyja, hogy a kernel, hogy a különböző kikötői Monitory |
|
|||||
|
2) Ez érdekes! Mindig azt hittem, hogy a kernel várta, hogy az accept (), hogy létrehozza a kapcsolatot. Csak megy, azt mutatják, hogy nem tudom, mindent.
5) A kikötőben van egy nyitott foglalat társul hozzá. És a kernel tudja, melyik porton megy, ami konnektorba. A TCP / IP kód a feladata, hogy a rendelkezésre álló adatok az aljzatba. 6) Ha a folyamat használja O-NONBLOCK (vagy azzal egyenértékű), mint a tiéd, a kernel nem csinál semmit. A remény, hogy a folyamat végül úgy dönt, hogy kiadja az accept (), vagy a read () vagy bármi más. Ha a folyamat blokkolta várja az adatokat az aljzatba, akkor "awoken", ha adat érkezik. Ez lehetővé tette a távon sorba. S amikor egy processzor futtatja, akkor a rendszer hívás végül elkészült. |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|