summaryrefslogtreecommitdiff
path: root/protocols/WhatsAppWeb/src/server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/WhatsAppWeb/src/server.cpp')
-rw-r--r--protocols/WhatsAppWeb/src/server.cpp10
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: