The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Di programmazione ad alto livello
.
google unix.com



Di programmazione ad alto livello Pubblica domande su C, C + +, Java, SQL, e di altri linguaggi di programmazione qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Cliente non si connette al server gerperrett Reti IP 2 03-29-2008 11:59 AM
Shell Script fallisce con "non riesce a connettersi al client" sseenu79 HP-UX 2 12-20-2006 10:47 AM
Impossibile connettersi al server srikanthus2002 UNIX for Dummies Domande & Risposte 4 11-28-2006 07:31 AM
Rimuovi Server Veglia alvintai SUN Solaris 16 04-08-2005 10:08 AM
multi-threaded server, pthreads, dormire Parahat Melayev Di programmazione ad alto livello 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 Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 07-17-2002
chenhao_no1 chenhao_no1 is offline
Utente Registrato
  
 

Iscriviti Data: luglio 2002
Posti: 32
Question cliente può connettersi () quando il server in modalità sleep (300); dopo ascolto (fd, 5);

0. Riguardo a voi
1. La ringrazio per la lettura lettera
2. Un server chiamata sonno (20) dopo listern (fd, 5). Quando il server è in sonno, un client connect () per la riuscita e inviare un sacco di dati nominato.
3. Perché? Penso che il server è in stato di stop (beasue Chiedo sonno ()), è donot blocco a accettare (), come cliente può collegare con successo,
  #2 (permalink)  
Old 07-17-2002
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ubicazione: Ashburn, Virginia
Messaggi: 9.131
Non è possibile farlo.

Accept () dovrebbe essere in grado di bloccare o non bloccare o al vostro controllo. Se acceso in modo non-bloccanti opzione presa, allora sì accept () chiamata restituirà un errore se non ci sono in attesa di connessioni. Se poi si decide di dormire (), allora le connessioni che arrivano mentre il server è addormentato in attesa di diventare diventerà connessioni. Dopo il sonno (), si potrebbe ri-accettare il problema () e stabilire una connessione.

Passando su un non-bloccanti opzione seggi e quindi di volta in volta si suppone di lavorare. Ma non ho mai visto fare. Io non dormire per 300 secondi se. Questo è un tempo molto lungo per mantenere una connessione in attesa di una connessione.

Ma il metodo usuale è quello di permettere accettare () per bloccare ed attendere per una connessione a verificarsi.

Se il tuo accettare () non è quindi in qualche modo il blocco è necessario che hanno chiesto di non farlo. Il solito modo di fare questo sarebbe stato impostato O_NONBLOCK.

Se il tuo accettare () chiamata non comportarsi come ho descritto, allora deve essere rotto. Ma trovo che stenta a credere. Non blocco sarebbe un problema molto serio.
  #3 (permalink)  
Old 07-18-2002
chenhao_no1 chenhao_no1 is offline
Utente Registrato
  
 

Iscriviti Data: luglio 2002
Posti: 32
Cliente può collegare () del server di successo Dormire

1. per quanto riguarda Perderabo e grazie a tutti coloro che hanno letto il post
2. Fare uno esperimento:
Server chiamata socket () bind () listern () in sequenza, e chiamare il sonno (30) dietro ascoltare e accettare prima di chiamata (). Quando il server è in stato di Stop, collegare il Cliente () il sonno Server successo e invio di un lotto Nomina di dati al server di sonno, e poi perché il blocco di recvive tampone Server è stato pieno (il Server è addormentato)
3. Mi riferisco a <<Unix rete Programmazione>> volume 1 (autore: W. Richard Stevens) più tardi.
Ho trovato che accettano () solo "ritorno il prossimo completamento della connessione dal fronte del completamento della connessione con la coda). Ascoltare l'() funzione fare "......... , Dati che arriva dopo tre-way handshake completa, ma prima di accettare l'invito del server (), deve essere in coda dal server TCP, fino alle dimensioni della presa di ricevere collegato tampone "
4. Poi penso che: A lato server, una volta che abbiamo chiamata listen (), il Server registro nominato uno zoccolo al kernel, allora il kernel controllerà il numero di porta nominato e attendere per il Cliente per la connessione.
Poi sorgere un'altra domanda:
5. Come funziona il kernel di monitorare il porto nominato quando il Server altri cosa fare (es. chiamata sleep () dopo ascolto () o non occupare il processore a quel punto) e
6. Come doese il kernel di comunicare che il processo di dati che è venuto se molti Server lasciare al kernel di monitory porta diversa
  #4 (permalink)  
Old 07-18-2002
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ubicazione: Ashburn, Virginia
Messaggi: 9.131
2) Questo è interessante! Ho sempre pensato che il kernel per l'atteso accettare () per stabilire una connessione. Basta va a dimostrare che non so tutto.

5) La porta è aperta presa di corrente ad esso associati. E sapere che il kernel va in porto, che presa di corrente. Il protocollo TCP / IP codice ha il compito di rendere i dati disponibili per la presa di corrente.

6) Se il processo sta utilizzando O-NONBLOCK (o equivalente), come il vostro è il kernel non fa nulla. La speranza è che il processo sarà eventualmente decidere di accettare il problema () o la read () o qualunque altra cosa. Se il processo è bloccato in attesa dei dati sul socket, sarà "risvegliato" quando arriva dati. Ciò è messo in fuga coda. E quando un cpu funziona, la chiamata di sistema finalmente completa.
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 09:49 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0