[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