The Basic Instant Messenger Demo shows an extremely simple version of a typical messenger
HTML CSS JavaScript

README.md

Lightstreamer - Basic Messenger Demo - HTML Client

The Basic Messenger Demo is a very simple instant messenger application based on Lightstreamer for its real-time communication needs.

This project includes a simple web client front-end for the Basic Messenger Demo.

As an example of Lightstreamer Adapters Needed by This Client, you may refer to the Lightstreamer - Basic Messenger Demo - Java Adapter.

Live Demo

screenshot

View live demo

Details

The Basic Instant Messenger Demo shows an extremely simple version of a typical messenger, where messages can be delivered to a specific friend, chosen from a dynamic list of online buddies.

Choose a nickname and click Login. You will see a list of all users connected to this demo, with their nicknames. Write a message and choose a recipient. The message will be delivered only to him/her (rather than broadcasting it, as the Lightstreamer - Basic Chat Demo - HTML Client does).

Launch multiple instances of the demo, possibly on different machines, to populate the Buddies list. If you use the same nickname on different instances, you will actually embody the same identity (to keep things simple, no authentication is used).

The front-end code can be considered a reference example of one-to-one messaging. Each user subscribes to their personal item (corresponding to the nickname), so that messages can be routed properly, instead of begin broadcast (as in the Lightstreamer - Basic Chat Demo - HTML Client, where all the users subscribe to the same item). In real applications, where authentication is used, the Metadata Adapter should enforce the association between the user's identity and the item they have the right to subscribe to.

The demo includes the following client-side functionalities:

Install

If you want to install a version of this demo pointing to your local Lightstreamer Server, follow these steps:

  • As prerequisite, the Lightstreamer - Basic Messenger Demo - Java Adapter has to be deployed on your local Lightstreamer Server instance. Please check out that project and follow the installation instructions provided with it.
  • Download this project.
  • Get the lightstreamer.js file from the latest Lightstreamer distribution and put it in the src/js folder. Alternatively, you can build a lightstreamer.js file from the online generator. In that case, be sure to include the LightstreamerClient, Subscription, DynaGrid, ConnectionSharing, and StatusWidget modules and to use the "Use AMD" version.
  • Get the require.js file form requirejs.org and put it in the src/js folder.
  • Deploy this demo on the Lightstreamer Server (used as Web server) or in any external Web Server. If you choose the former, please note that in the <LS_HOME>/pages/demos/ folder, there may be already a MessengerDemo folder. If this is not your case, please create the folders <LS_HOME>/pages/MessengerDemo and copy here the contents of the /src folder of this project. The client demo configuration assumes that Lightstreamer Server, Lightstreamer Adapters, and this client are launched on the same machine. If you need to target a different Lightstreamer server, please search in js/lsClient.js this line:
    var lsClient = new LightstreamerClient(protocolToUse+"//localhost:"+portToUse,"MESSENGER");
    and change it accordingly.
  • Open your browser and point it to: http://localhost:8080/MessengerDemo/

See Also

Lightstreamer Adapters Needed by This Client

Related Projects

Lightstreamer Compatibility Notes

  • Compatible with Lightstreamer JavaScript Client library version 6.0 or newer.