Article View: be.comp.programming
Article #13919Re: c++ socket timeout
From: Luc Kumps
Date: Mon, 14 May 2001 18:11
Date: Mon, 14 May 2001 18:11
41 lines
2538 bytes
2538 bytes
"TdC" <no#tdc@lomag.net#spam> wrote in message news:fxSL6.78844$ii.10143800@afrodite.telenet-ops.be... > > "Luc Kumps" <NOkumpsSPAM@pandora.be> wrote in message > news:LuBL6.77923$ii.9958430@afrodite.telenet-ops.be... > > SO_RCVTIMEO slaat alleen op RECEIVE. > > SO_SNDTIMEO slaat alleen op SEND. > > > > Op connect kun je op deze manier geen timeout zetten. > > Je zult moeten terugvallen op asynchrone (of non blocking) sockets, en > > select of WaitForMultipleObjects gebruiken. > > > > Luc > > > > lukt dit ook op unix? > ik dacht dat asynchrone enkel winsock was Natuurlijk lukt dat op Unix. Nadien hebben ze een poging gedaan om het op Window ook een beetje te laten werken, en dat is min of meer gelukt... zolang je niet TE veel sockets wenst te beheren vanuit 1 enkel proces natuurlijk;-) Hier moet je mee beginnen (na het aanmaken van de socket, en het oproepen van bind()): int yes; yes = 1; ioctl(fd, FIONBIO, &yes); waarbij fd de socket descriptor is zet de socket in "non blocking" mode. connect() zal dan onmiddellijk -1 teruggeven, errno=EINPROGRESS (andere errors moet je opvangen) Je gebruikt dan select() om te weten wanneer de connect() complete is (gelukt of mislukt). Wanneer de connect() lukt wordt de file descriptor writeable als ik het me goed herinner. Ik meen dat het allemaal uitgelegd staat in de man pages van socket. Luc
Technical Details
Message-ID:
<GdVL6.79353$ii.10238356@afrodite.telenet-ops.be>Path:
arc1-ca.pugleaf.net!archiver1.sj.google.com!newsfeed.google.com!sn-xit-02!supernews.com!isdnet!wanadoo.fr!opentransit.net!newsfeeds.belnet.be!news.belnet.be!afrodite.telenet-ops.be!not-for-mailReferences:
<evAL6.77789$ii.9923304@afrodite.telenet-ops.be> <LuBL6.77923$ii.9958430@afrodite.telenet-ops.be> <fxSL6.78844$ii.10143800@afrodite.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,7a0e4be47c886294 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2001-05-14 11:11:52 PST Path: arc1-ca.pugleaf.net!archiver1.sj.google.com!newsfeed.google.com!sn-xit-02!supernews.com!isdnet!wanadoo.fr!opentransit.net!newsfeeds.belnet.be!news.belnet.be!afrodite.telenet-ops.be!not-for-mail From: "Luc Kumps" <NOkumpsSPAM@pandora.be> Newsgroups: be.comp.programming References: <evAL6.77789$ii.9923304@afrodite.telenet-ops.be> <LuBL6.77923$ii.9958430@afrodite.telenet-ops.be> <fxSL6.78844$ii.10143800@afrodite.telenet-ops.be> Subject: Re: c++ socket timeout Lines: 44 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Message-ID: <GdVL6.79353$ii.10238356@afrodite.telenet-ops.be> Date: Mon, 14 May 2001 18:11:50 GMT NNTP-Posting-Host: 213.118.64.191 X-Complaints-To: abuse@pandora.be X-Trace: afrodite.telenet-ops.be 989863910 213.118.64.191 (Mon, 14 May 2001 20:11:50 MET DST) NNTP-Posting-Date: Mon, 14 May 2001 20:11:50 MET DST Organization: Telenet Internet