Strophe is a collection of libraries for speaking the XMPP protocol. While most XMPP libraries and implementations are focused on chat-based applications, Strophe takes a grander view. It has been used to implement real-time games, notification systems, search engines, as well as traditional instant messaging.

The implementations are production ready, well documented, easy to use, and easy to extend.

The Strophe Family

There are currently two members of the Strophe family of libraries.

Strophe.js

Strophe.js is a JavaScript implementation targeting browser-based clients. It uses BOSH, a binding of XMPP to HTTP using long polling and WebSockets, a full-duplex single socket connection to a server. Strophe.js makes creating real-time web applications easy.

libstrophe

libstrophe is a C library for XMPP clients and components. It has very minimal dependencies and was designed with both POSIX and Windows systems in mind.