Question
1
Replies
245
Views
Posted: May 30, 2018
Last activity: June 5, 2018
Closed
How does the websocket:true; setting in config.json impact the xmpp setting
Is there more documentation around websocket:true; setting in the config.json setting in PegaCHat Server 7.4? If this is set to true what additional setting has to be done? What additional configurations is required for bosh setting and websocket setting?
our config.json entry is as per below
"xmpp_server_config": {
"websocket" : true,
"host" : "localhost",
"port" : 5280
},
Hi
I hope below explanation from the RFC document will help you to understand why Pega prefer WebSocket over BOSH or similar protocol.
To date, applications using the Extensible Messaging and Presence Protocol (XMPP) (see [RFC6120] and [RFC6121]) on the Web have made use of Bidirectional-streams Over Synchronous HTTP (BOSH) (see [XEP-0124] and [XEP-0206]), an XMPP binding to HTTP. BOSH is based on the HTTP "long polling" technique, and it suffers from high transport overhead compared to XMPP's native binding to TCP. In addition, there are a number of other known issues with long polling [RFC6202] that have an impact on BOSH-based systems. In most circumstances, it would be much better to avoid tunneling XMPP over HTTP long-polled connections and instead use XMPP directly. However, the APIs and sandbox that browsers have provided do not allow this. The WebSocket protocol [RFC6455] exists to solve these kinds of problems and is a bi-directional protocol that provides a simple message-based framing layer, allowing for more robust and efficient communication in web applications.