On 7/19/11 7:42 PM, Glenn Maynard wrote:
On Tue, Jul 19, 2011 at 9:13 PM, Matthew A. Miller <[email protected] <mailto:[email protected]>> wrote:

    Sending at that rate will result in a disconnected socket for most
    of the networks I've seen.  There are still an exorbitant number
    of routers, proxies, firewalls, and load balancers deployed and
    configured such that they will (silently!) drop a connection if
    there is no traffic for 5-10 minutes.


I've never encountered a network that'll disconnect with 10-15-minute keepalives; there may be some, but I doubt "most".

    A number of clients will send a keepalive (whitespace or
    otherwise) every 60-120 seconds; a number of server deployments
    will send their own at roughly the same rate.  This is great for
    desktops, but less than ideal for mobile.


But, this doesn't require negotiation. If a client needs to send keepalives more frequently (due to broken routers) or less frequently (battery life), it doesn't need to discuss that with the server; it can just do it. If a server is unfortunate enough to be behind broken software that drops connections too quickly, it can likewise adjust its own keepalive interval to compensate, without any negotiation; otherwise it should send them infrequently (if at all). Servers shouldn't be sending keepalives every 60-120 seconds.

This just seems like an overcomplication that isn't likely to actually negotiate values that make sense. It also seems to assume that the client and server will always send keepalives at the same rate.

(Of course, mobile clients should really be using xbosh anyway, which avoids these and other issues, but it seems like the bosh/xbosh specs have stalled...)


Glenn-

It makes me chuckle to read you say that this negotiation protocol seems like an "overcomplication" and then immediately follow that with a suggestion that folks should be using BOSH. ;-)

Regardless, this is an "optional" feature and if you feel it is too burdensome for your project, then you're welcome to skip its implementation, but that doesn't mean it doesn't have technical merits for the protocol community, at-large.

Cheers,
Ben

Reply via email to