[linux-l] Socket einer TCP-Verbindung schliessen trotz FIN_WAIT2 Status

Rainer Flicker r.flicker at nexgo.de
Di Jul 8 22:07:45 CEST 2003


Hallo,

Jan-Benedict Glaw wrote:
> On Thu, 2003-07-03 22:40:20 +0200, Rainer Flicker <r.flicker at nexgo.de>
> wrote in message <3F0494B4.9020206 at flicker.berlin.net>:
> 
>>ich suche eine Möglichkeit einen Port/Socket zu schliessen, den der
>>Kernel noch offen hat, weil er auf die Gegenseite wartet. Genauer
>>gesagt befindet sich die TCP-Verbindung im FIN_WAIT2 Status. Ver-
>>ursacht wird dies durch ein Absturz der Gegenseite, was eine Wieder-
>>verwendung des Port bis nach Ablauf eines Timeouts verhindert.
>>
>>Gibt es irgend ein Programm oder eine C-Funktion um dem Kernel
>>zu sagen, dass er den Port/Socket schliessen kann.
> 
> 
> Helfen könnten:
> 
>         setsockopt_integer = 1;
>         ret = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &setsockopt_integer,
>                         sizeof(setsockopt_integer));
>         if(ret)
>                 fprintff(stderr, "%s(): setsockopt(SO_REUSEADDR) failed: %s\n",
>                                 __FUNCTION__, strerror(errno));
Vielen Dank, ich hab es ausprobiert und es scheint mein Problem
dadurch zu lösen, dass der Kernel einen weiteren Socket öffnet.

Grüße

Rainer





Mehr Informationen über die Mailingliste linux-l