![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| UNIX för avancerade & Expertanvändare Expert-to-experten. Läs avancerade UNIX UNIX-kommandon, Linux operativsystem, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| HTTP Keep-Alive Socket problem | imdupeng | High Level Programming | 0 | 03-29-2008 09:11 |
| Problem med att ansluta till Socket | Stevhp | High Level Programming | 6 | 04-30-2007 08:27 |
| Problem med HP-Unix samtidigt skriftligen till uttaget | AshokG | HP-UX | 0 | 02-25-2005 02:19 |
| Socket Problem | Agent007 | High Level Programming | 3 | 04-03-2004 09:15 |
| [Problem] Återanvändning hamn i BSD socket | Nämligen | High Level Programming | 1 | 11-28-2003 11:36 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
#1 (permalänk)
|
||||
|
||||
|
Problemet med socket behandlingen
Jag kan inte ta emot meddelandet på uttaget i den pågående processen när dess väntar på sina barn för att avsluta.
kod ser ut ungefär som nedan / / i en tråd av den pågående processen / / Tråd 1 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u0 int numBytes \u003d read (sockid, buf, SIZE); / / Nu tråden är blockerad \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u0 / / i en annan tråd / / tråd 2 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u0 if ((pid \u003d gaffelgrepp ()) \u003d\u003d 0) / / barn process ( exec (...); ) annan ( waitpid (PID), / / nu är blockerad för barnets utträde ) \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u0 I ovanstående scenario, när barnet är verkställande och förälder är blockerad för barnets utresa, även när det inte finns några meddelanden på uttaget descrtiptor för första tråd att läsa, jag kan inte läsa att även efter barnets avsluta. så kan någon kasta mer ljus på ovanstående scenario? Tack på förhand Swap007 |
|
#2 (permalänk)
|
||||
|
||||
|
Kan du inte använda icke-blockerande läser eller väljer ()?
|
|
#3 (permalänk)
|
||||
|
||||
|
yaaa jag m använder väljer samtal b4 att läsa på sockel.
så koden är något som denna / / Tråd 1 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d int retval \u003d väljer (.....)// Nu tråden är blockerad och det kommer att bli awaked whn något Tor till läsa från uttaget. if (retval \u003d\u003d -1) domstol << "error" <<endl; annan int numBytes \u003d read (sockid, buf, SIZE); \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u0 visas böter???? |