[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] How to enable KEEP-ALIVE
From: |
narke |
Subject: |
Re: [lwip-users] How to enable KEEP-ALIVE |
Date: |
Thu, 22 Dec 2011 21:13:19 +0800 |
On 14 December 2011 04:31, Kieran Mansley <address@hidden> wrote:
>
> On 11 Dec 2011, at 14:17, narke wrote:
>
>> Hi,
>>
>> In raw API. I am confused how to enable the tcp KEEP-ALIVE feature.
>> It's seems the LWIP_TCP_KEEPALIVE switch is not designed for turning
>> on or off the feature. It's just for using or not using "keep_intvl"
>> and "keep_cnt" fields of a pcb. To my understanding, turning on or
>> off the LWIP_TCP_KEEPALIVE switch, makes no difference to the final
>> result.
>>
>> And, according to the 1.4.0 code, the keep-alive segments will be sent
>> out only if the so_options of a pcb has a SOF_KEEPALIVE bit set. The
>> problem is, I don't find a place in the code that SOF_KEEPALIVE (or
>> SO_KEEPALIVE) was set.
>
> It's part of the sockets API so there isn't a supported way to set it via the
> raw API, but you can probably get what you want by doing
>
> pcb->so_options |= SOF_KEEPALIVE;
>
> In general modifying pcb fields directly is discouraged but in this case
> there isn't an easy alternative. We should probably add a function to allow
> users to set these options in a supported manner.
>
> Kieran
Thanks Kieran. I just had already found my way and did it exactly as
what you said.
--
Life is the only flaw in an otherwise perfect nonexistence
-- Schopenhauer
narke
public key at http://subkeys.pgp.net:11371 (address@hidden)