<font face="arial" size="2"><p style="margin:0;padding:0;">Hi Simon,</p>
<p style="margin:0;padding:0;">&nbsp;</p>
<p style="margin:0;padding:0;">Yup, we are running TCP keepalives on the server... It's the Android side that we are questioning the proper way to implement..</p>
<p style="margin:0;padding:0;">&nbsp;</p>
<p style="margin:0;padding:0;">We will just &nbsp;implement&nbsp;<span style="color: #cc0000; font-size: 12px;">writeFrame(new Frame(AMQP.FRAME_HEARTBEAT, 0));</span></p>
<p style="margin:0;padding:0;">when the service wakes up..</p>
<p style="margin:0;padding:0;">&nbsp;</p>
<p style="margin:0;padding:0;">thanks very much,</p>
<p style="margin:0;padding:0;">Matthew</p>
<p style="margin:0;padding:0;">&nbsp;</p>
<p style="margin:0;padding:0;">-----Original Message-----<br />From: "Simon MacMullen" &lt;simon@rabbitmq.com&gt;<br />Sent: Thursday, April 19, 2012 8:12am<br />To: m.luchak@smartasking.com<br />Cc: rabbitmq-discuss@lists.rabbitmq.com<br />Subject: Re: [rabbitmq-discuss] RabbitMQ as Android Service - keep-alive/heartbeat<br /><br /></p>
<div id="SafeStyles1334837801">
<p style="margin:0;padding:0;">On 19/04/12 12:49, m.luchak@smartasking.com wrote:<br />&gt; We are running RabbitMQ as a background service on Android to<br />&gt; prinicpally receive notifications. Is there something similar to<br />&gt; keep-alive that we can implement to verify if the consumer is still<br />&gt; connected and reset the connection timeout on the server?<br />&gt;<br />&gt; It seems that the default method to do this is with heartbeat but the<br />&gt; timer attribute of heartbeat doesn't work in the Android service<br />&gt; scenario where the service is "woken up" every X minutes to test the<br />&gt; connection. Using heartbeat we would need to leave Android running<br />&gt; constantly and this defeats the purpose...<br />&gt;<br />&gt; Soo.. Is there "The Right Way" to ping the server when a background<br />&gt; service is woken up or do we need to roll our own?<br /><br />It's possible that enabling TCP keepalives will help:<br /><br />http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2012-January/017138.html<br /><br />But you may need them on the client too, which may in turn require <br />waking the client up; I'm not sure how that works on Android.<br /><br />Cheers, Simon<br /><br />-- <br />Simon MacMullen<br />RabbitMQ, VMware</p>
</div></font>