diff options
Diffstat (limited to 'protocols/WhatsAppWeb/src/server.cpp')
-rw-r--r-- | protocols/WhatsAppWeb/src/server.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/protocols/WhatsAppWeb/src/server.cpp b/protocols/WhatsAppWeb/src/server.cpp index d452c8bd1b..06241e46c2 100644 --- a/protocols/WhatsAppWeb/src/server.cpp +++ b/protocols/WhatsAppWeb/src/server.cpp @@ -46,6 +46,9 @@ void WhatsAppProto::OnLoggedIn() ProtoBroadcastAck(0, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)m_iStatus, m_iDesiredStatus); m_iStatus = m_iDesiredStatus; + + SendKeepAlive(); + m_impl.m_keepAlive.Start(60000); } void WhatsAppProto::OnLoggedOut(void) @@ -61,6 +64,11 @@ void WhatsAppProto::OnLoggedOut(void) setAllContactStatuses(ID_STATUS_OFFLINE, false); } +void WhatsAppProto::SendKeepAlive() +{ + WebSocket_Send(m_hServerConn, "?,,", 3); +} + ///////////////////////////////////////////////////////////////////////////////////////// bool WhatsAppProto::ProcessChallenge(const CMStringA &szChallenge) @@ -375,7 +383,7 @@ bool WhatsAppProto::ServerThreadWorker() case 9: // ping debugLogA("ping received"); - Netlib_Send(m_hServerConn, start, (int)hdr.payloadSize, 0); + Netlib_Send(m_hServerConn, "?,,", 3, 0); break; default: |