![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| HP-UX HP-UX (Hewlett Packard Unix) è di Hewlett-Packard proprietario di attuazione del sistema operativo Unix, basati su System V. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| problema con la presa di lettura | swap007 | UNIX e avanzata per utenti esperti | 2 | 05-21-2008 01:08 AM |
| HTTP Keep-Alive presa problema | imdupeng | Di programmazione ad alto livello | 0 | 03-29-2008 09:11 PM |
| presa di comunicazione, ma non iscritto | madfox | Di programmazione ad alto livello | 2 | 12-04-2007 03:44 PM |
| Problema Collegamento a spina | Stevhp | Di programmazione ad alto livello | 6 | 04-30-2007 07:27 PM |
| Socket Problema | Agent007 | Di programmazione ad alto livello | 3 | 04-03-2004 08:15 PM |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
||||
|
Il nostro sistema è un server e avere più clienti. Siamo di monitoraggio del cliente utilizzando selezionare FDS () nella chiamata di sistema HP-UX.
Dopo aver stabilito la connessione con presa di corrente usando il client remoto, prima di iniziare a inviare i dati ci sono il controllo dello stato di presa utilizzando selezionare () chiamata. Per i primi 16 clienti selezionare () chiamata è sbloccato e FD_ISSET () restituisce il successo. Ma dal 17 in poi cliente, la select () è sbloccato e FD_ISSET () non restituisce SUCCESSO (che sta tornando valore negativo), sia in HP-UX 11i e 11. Ma la stessa logica funziona bene fino a 1024 clienti in Solaris, AIX, Linux. Il codice sorgente è di seguito indicate, Informi il modo per porre rimedio a tale problema. fd_set Writefds; struct timeval Timeout; int RetCode; int RetValue; int SockDesc; struct sockaddr_in client; char BulkData [5000] \u003d "Conferma"; int retval; int clientlen \u003d sizeof (struct sockaddr_in); client.sin_family \u003d AF_INET; client.sin_addr.s_addr \u003d INADDR_ANY; client.sin_port \u003d htons (SERVER_PORT); SockDesc \u003d socket (AF_INET, SOCK_STREAM, 0); collegare (SockDesc, & client (socklen_t) clientlen); Timeout.tv_sec \u003d 0; Timeout.tv_usec \u003d 0; FD_ZERO & (Writefds); FD_SET (SockDesc, & Writefds); Selezionare RetCode \u003d (0, NULL, & Writefds, NULL, & timeout); if (RetCode> 0) ( retval \u003d FD_ISSET (SockDesc, & Writefds); if (retval> 0) ( inviare (SockDesc, szBulkData, (size_t) sizeof (szBulkData), 0); ) altro ( printf ( "FD_ISSET è fallita:% d \ n", retval); ) ) else if (RetCode \u003d\u003d -1) ( printf ( "Errore selezionare ritorno:% d \ n", errno); ) else if (RetCode \u003d\u003d 0) ( printf ( "return 0 selezionare [timeout si è verificato]. \ n"); ) |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|