The UNIX and Linux Forums  
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.

Go Back   A UNIX és Linux Forums > Top Fórumok > Magas szintű Programozás
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 07-17-2002
chenhao_no1 chenhao_no1 is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2002
Hozzászólások: 32
Question a kliens connect (), amikor a szerver alvás (300) után listen (fd, 5);

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,
  #2 (permalink)  
Old 07-17-2002
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Helyszín: Ashburn, Virginia
Hozzászólások: 9.119
Ezt nem teheted.

Ön accept () kell tenni, hogy vagy blokk, vagy nem akadályozza meg a szabályozás. Ha be van kapcsolva a nem-blokkoló lehetőséget a foglalat, akkor igen fogadja el () hívás fog vissza a hiba, ha nincsenek függőben lévő kapcsolatokat. Ha ezután úgy dönt, hogy sleep (), akkor bármilyen kapcsolatot, amíg megérkezik a kiszolgáló alszik válik válnak folyamatban kapcsolatokat. Miután a sleep (), akkor is újra kiadja az accept () és létrehozza a kapcsolatot.

Turning egy nem-blokkoló lehetőséget, majd szavazás időről időre állítólag működik. De én még sosem láttam kész. Én nem aludt 300 másodperc mégis. Ez egy nagyon hosszú ideig tartani a kapcsolatot várja a csatlakozni.

De a szokásos módszer az, hogy fogadja el () a blokkot, és várjon egy kapcsolat alakulhat ki.

Ha az accept () nem blokkolja, akkor valahogy meg kell adnunk azt kérte, hogy nem. A szokásos ezt a módszert az lenne, hogy van beállítva O_NONBLOCK.

Ha az accept () hívás nem úgy viselkedik, ahogy leírtam, akkor azt kell törni. De azt azért nehezen hiszem. Soha blokkoló lenne egy nagyon komoly problémát jelent.
  #3 (permalink)  
Old 07-18-2002
chenhao_no1 chenhao_no1 is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2002
Hozzászólások: 32
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
  #4 (permalink)  
Old 07-18-2002
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Helyszín: Ashburn, Virginia
Hozzászólások: 9.119
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.
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 01:23 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0