Subject Re: [firebird-support] Re: Disconnected User
Author Stefan Heymann
>> It would be quite easy to make, though ... hmmm ...

> Hm - Sorry ....
> quite easy to make ...

> I can't see how.

> Give me a hint ...

The application could send UDP packets (low bandwith usage, simple to
implement) to the Licencing Server, let's say every minute. A client
that didn't send these for, say, 2 minutes is considered to be offline
and is not counted any more.

A continuous TCP connection would waste resources and have the same
problem as the TCP connection that is used for Firebird: The server
doesn't get notified when the connection breaks ungracefully.

So TCP could be used to get permission to connect or gracefully
disconnect. And UDP could be used for saying "Hi, I'm still there".

To make it perfect, one could implement a UDF that connects to the
Licencing Service and checks if the Firebird connection still has a
valid Licencing connection. If not, it could do all kind of weird
things ...

Just a few thoughts.

> Whatever I think of has to do with polling the connected users.

Polling the clients would mean you'd have to implement a listener in
the client. It would probably be easier to tell clients to "push"
these "I'm still there" messages to the server. When the client
doesn't get a response back from the server it must shut down work or
try to get a new licenced connection.

Best Regards