lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-users] lwIP 1.4.1 - Detecting a closed TCP connection


From: Bill Auerbach
Subject: [lwip-users] lwIP 1.4.1 - Detecting a closed TCP connection
Date: Tue, 15 Jan 2013 09:07:05 -0500

Hello,

Background: My embedded device can only handle one connection from a PC and
refuses a connection when one is open.  To date, I have done this by setting
a bool true it the accept callback and setting it to false when the tcp_recv
callback indicates the connection is closed.  If the accept callback sees
the true bool, I send a message back to the PC that the device is already
connected and use tcp_close to close the second connection.

Problem: Every once in a very long while, I'm out of sync and the PC
connection is refused even though the previous connection has closed.  I
doubt it's an Ethernet error, and I don't want to assume that there could be
an intermittent missed callback to tcp_recv telling me that the connection
has closed.  So I don't know how this state is entered.  In any case, it's a
really bad state to wind up in! I have to cycle power to the device to
reconnect to it.

Question: I'm sure there is a better way to go about doing this. Instead of
querying a bool variable that I have to maintain is there an lwIP function
that will always work to determine if there is an open connection to a port?
I don't mind getting the second connection (briefly) and it has been nice to
warn the PC user that someone else is connected to the device.  But I need
to stay in perfect sync.

Thank you,
Bill Auerbach




reply via email to

[Prev in Thread] Current Thread [Next in Thread]