View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000587||AniDB UDP API||Feature Request||public||2007-02-15 17:45||2007-04-15 06:50|
|Summary||0000587: Extend 300 PONG reply to include port (and IP) from which the PING was sent.|
Modify PING command to accept a nat=1 option. If the sent PING command includes this option, then the 300 PONG reply is extended to also include port (and IP) from which the PING command was sent.
* 1. This would make it possible to code clients that auto-adjust the time between sent PINGs.
Example: For each received PONG reply, the client should compare the reported port with the port in the previous PONG reply. If both replies report the same port, then the client should increase the time between sent PING commands (?by an API defined amount?). The client should continue to increase the time for each received PONG reply until the port in the last received PONG reply differs from the previous PONG reply. At this point the client should start decreasing the time until the last and previous received PONG replies report the same port.
End result: The number of PINGs sent will be kept as low as possible while trying to prevent a NAT router from closing the port. Also, this will prevent the client from getting banned (or at least reduce the risk of getting banned) due to PINGs comming from too many different ports.
* 2. Provides an easy way to determine if the router has changed the outgoing port. Currently its only possible to determine this by logging out and then logging in again with the nat=1 option. A passive client that only listens for 271 or 272 replies while sending out PINGs, won't know if the router has changed the port and could potentially miss 271 or 272 replies.
|Tags||No tags attached.|