The CometD Project
Welcome to the CometD Project, a scalable comet
(server push) and websocket messaging library for the web.
This repository mirrors the JavaScript sources hosted at the main
CometD repository.
Those JavaScript sources are not suitable to be consumed with NPM,
and are therefore re-arranged in this repository for to make it simpler
to use CometD with NPM.
Versions
8.0.x
⇒ based on CometD 8.0.x - full ECMAScript 6 (modules, classes, let
, const
, arrow functions)7.0.x
⇒ based on CometD 7.0.x - minimal ECMAScript 6 (let
, const
and arrow functions)6.0.x
⇒ N/A5.0.x
⇒ based on CometD 5.0.x - minimal ECMAScript 5 (var
everywhere)
Version 6.0.x
is not released to NPM since it's identical to 7.0.x
.
The 6.0.x
numbering exists only because the main CometD project, on the server side, is different from 7.0.x
, but on the client side there is no difference.
License
The CometD source code is released under the Apache 2.0 License.
NPM Installation
npm install cometd
ES6 Usage
import {CometD} from "./cometd/cometd.js";
import {TimeStampExtension} from "./cometd/TimeStampExtension.js";
const cometd = new CometD();
cometd.registerExtension("timestamp", new TimeStampExtension());
cometd.configure({
url: "http://host/cometd"
});
cometd.handshake((reply) => {
if (reply.successful) {
cometd.subscribe("/topic", (message) => {
const dataFromServer = message.data;
});
}
});