A Chat Server based on sockjs, websocket and tornado
Project description
A sockJS based Chat-Server/Chat-System primary using the SockJS protocol.
Details
- Author:
Anirban Roy Das
- Email:
- Copyright(C):
2016, Anirban Roy Das <anirban.nick@gmail.com>
Check sockjsChat/LICENSE file for full Copyright notice.
Overview
sockjsChat is a very basic Chat Server which can be set up locally to chat in your LAN. It supports both Public Chat among all participants connected simultaneously at a particulartime and also Private Chat between those individual participants.
It uses the sockjs protocol to implement the real time message passing system. SockJS is implemented in many languages, primarily javascript to talk to servers in real time using its protocol, which tries to create a duplex bi-directional connectin between the Client(browser) and the Server. The server should also implement the sockjs protocol. Thus, using the sockjs-tornado library which exposes the sockjs protocol in tornado server. It first tries to create a Websocket connection, and if it fails then it fallbacks to other transport mechanisms, such as ajax, long polling, etc.
You can read more about sockjs here
Technical Specs
- sockjs-client:
Advance Websocket Javascript Client
- Tornado:
async python web server
- sockjs-tornado:
sockjs websocket server implementation for Tornado
Installation
Prerequisites
python 2.7+
tornado
sockjs-tornado
sockjs-client
Install
pip install sockjsChat
If the above dependencies do not get installed by the above command, then use the below steps to install them one by one.
Step 1 - Install pip
Follow the below methods for installing pip. One of them may help you to install pip in your system.
Method 1 - https://pip.pypa.io/en/stable/installing/
Method 3 - If you installed python on MAC OS X via brew install python, then pip is already installed along with python.
Step 2 - Install tornado
pip install tornadoStep 3 - Install sockjs-tornado
pip install sockjs-tornado
Usage
After having installed sockjsChat, just run the following command to use it :
Start Server
$ sockjsChat [options]
Options
- –port:
Port number where the chat server will start
Example
$ sockjsChat --port=8765
Stop Server
Click Ctrl+C to stop the server.
TODO
Add Private Chat functionality.
Manage Presence Management, sent, delivered acknowledgements.
Message Persistence and delivery of messages to offline clients.
Add Blog post regarding this topic.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sockjsChat-1.1.0.tar.gz
.
File metadata
- Download URL: sockjsChat-1.1.0.tar.gz
- Upload date:
- Size: 26.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | adaf649ad3ef6e83509e5abc584d8db7a559e3a89ae5d1aae7133bc3eee29c7e |
|
MD5 | c1473618366dda1178af9997673b7f62 |
|
BLAKE2b-256 | 00a998b82e23bf2a55a577ae888123a8754713f3ea61592cf20317af6d3437c2 |
File details
Details for the file sockjsChat-1.1.0-py2-none-any.whl
.
File metadata
- Download URL: sockjsChat-1.1.0-py2-none-any.whl
- Upload date:
- Size: 28.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8778fe140f81528b661d268f5d78326e766cfa8ffaefed489711193a09bf1afb |
|
MD5 | 643777ad2e9437c33e2cf066547b0be0 |
|
BLAKE2b-256 | a3fa041aa0759a4887bf4d59143648eb715725c9a68137d708447d17599f3333 |