![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| HP-UX HP-UX (Hewlett Packard UniX) ist Hewlett-Packard-eigene Implementierung des Unix-Betriebssystem, basierend auf System V |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Problem mit Socket-Lesung | swap007 | UNIX für Fortgeschrittene und Experten | 2 | 05-21-2008 02:08 AM |
| HTTP-Keep-Alive-Socket-Problem | imdupeng | High-Level-Programmierung | 0 | 03-29-2008 09:11 PM |
| Socket-Kommunikation, aber nicht schriftlich | madfox | High-Level-Programmierung | 2 | 12-04-2007 03:44 PM |
| Problem beim Verbinden mit Sockel | Stevhp | High-Level-Programmierung | 6 | 04-30-2007 08:27 PM |
| Socket-Problem | Agent007 | High-Level-Programmierung | 3 | 04-03-2004 09:15 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Unser System ist mit einem Server und mehreren Clients. Wir sind die Überwachung der Kunden FDs mit select () Systemaufruf in HP-UX.
Nach Aufbau der Verbindung mit-Buchse mit der Remote-Client, vor Absenden der Daten, die wir kontrollieren, den Status der Socket mit select ()-Aufruf. Für die ersten 16 Kunden die select () Aufruf wird freigegeben, und FD_ISSET () liefert Erfolg. Aber aus dem 17.-Client an, wählen Sie die () wird freigegeben, und FD_ISSET () nicht RETURNING Erfolg (es wird wieder negativer Wert), die beide in HP-UX 11 und 11i. Aber der gleichen Logik funktioniert bis 1024 Kunden in Solaris, AIX, Linux. Source-Code ist im Folgenden erwähnt wird Bitte sagen Sie, wie Sie dieses Problem beheben. fd_set Writefds; struct timeval Timeout; int RetCode; int retValue; int SockDesc; struct sockaddr_in Kunden; char bulkdata [5000] \u003d "Bestätigung"; 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); connect (SockDesc, & Client (socklen_t) clientlen); Timeout.tv_sec \u003d 0; Timeout.tv_usec \u003d 0; FD_ZERO (& Writefds); FD_SET (SockDesc, & Writefds); RetCode \u003d select (0, NULL, & Writefds, NULL, & Timeout); if (RetCode> 0) ( retval \u003d FD_ISSET (SockDesc, & Writefds); if (retVal> 0) ( Senden (SockDesc, szBulkData, (size_t) sizeof (szBulkData), 0); ) sonst ( printf ( "FD_ISSET ist fehlgeschlagen:% d \ n", retVal); ) ) else if (RetCode \u003d\u003d -1) ( printf ( "select Rückkehr Fehler:% d \ n", errno); ) else if (RetCode \u003d\u003d 0) ( printf ( "select return 0 [Timeout aufgetreten]. \ n"); ) |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|