¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: Starting up d-rats development


 

Maurizio Andreotti <maurizioandreottilc@... wrote:
About
"My ISP will drop connections that do not have any activity for some
period of minutes, so this is pretty must guaranteed to occur for
me"
Wouldn¡¯t be enough to setup a ping to some internet host to keep the
connection alive?
The ISP does not drop the entire internet connection, it only drops the
idle TCP/IP sessions.

The only way to keep that from happening is to use a tcpip keep-alive in the affected application.



Easy to implement, except that you want to make sure that it never makes
it on the air. So a ratflector needs to discard it, instead of relaying an empty packet.

As I do not currently have documentation of the protocol used for a
ratflector, I do not know if it has some way to discarding empty packets
already.

This keepalive also should not be needed as D-rats contains code to throw an exception when the connection has been disconnected and then reconnect it. On my Windows systems, the exception is not being thrown, and D-rats goes into an tight CPU bound loop retrying doing a read() from the disconnected sockets.

Also, even though d-rats should reconnected if the connection is disconnected, there is a possibility that with out a keepalive in the protocol, some message fragments may be lost.

I may need to try various Windows Python implementations to see if the
problem is unique to the one that I am currently using for d-rats.

Regards,
-John WB8TYW

Join [email protected] to automatically receive all group messages.