Kısa cevap "her ikisi" dir.
XMPP, gerçek zamanlı sohbet (ve bu konudaki diğer pek çok şeyi) yapmak için bir dizi uygulama protokolüdür - daha sonra bir şekilde ağ üzerinden taşınması gerekir, bu nedenle bir taşıma bağlantısına ihtiyacınız vardır. XMPP için üç ana aktarım bağlaması vardır -
- Cihazlarda yerel istemcilerle genellikle İnternette kullanılan TCP / IP
- Tarayıcıda XMPP kullanılırken geleneksel olarak kullanılan HTTP (BOSH olarak adlandırılır) (tarayıcıdaki Javascript uygulamalarında TCP-IP mevcut olmadığından)
- Modern bir tarayıcıda XMPP yaparken kullanılan Websockets.
Dolayısıyla, bir tarayıcıda bir sohbet uygulaması geliştiriyorsanız, uygulama protokolü olarak XMPP'yi seçersiniz ve ağ aktarımı olarak web soketlerini (modern bir tarayıcıda) veya BOSH'u (eski bir tarayıcıda) kullanırsınız. Stanza.io ( https://github.com/otalk/stanza.io ) gibi Javascript için bir XMPP kitaplığı kullanıyorsanız , her ikisini de destekler ve taşıma katmanı yerine yalnızca ' XMPP'yi düşünürsünüz. hangi uç noktaya bağlanacağını söylemeniz gerektiğinde kurulum dışında.
(Sohbet için 'sadece web soketleri' kullanamazsınız - XMPP olmadan web soketlerini kullanabilirsiniz, ancak bunun anlamı, sohbet için kendi uygulama katmanı protokolünüzü icat ettiğinizdir ve muhtemelen tasarruf edeceksiniz Kullanışlı özelliklere (güvenlik, kimlik, genişletilebilirlik vb.) sahip olan ve bunun yerine XMPP'ye giderek mevcut kitaplıkların ve sunucuların bulunduğu bir işin yazılmasından yararlanarak çok fazla zaman ve baş ağrısı.)