| CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Sun, 18 Jan 2026 13:05:42 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20101006020457
location: https://web.archive.org/web/20101006020457/https://github.com/scottgonzalez/node-chat
server-timing: captures_list;dur=0.929688, exclusion.robots;dur=0.095062, exclusion.robots.policy;dur=0.078638, esindex;dur=0.013592, cdx.remote;dur=44.144845, LoadShardBlock;dur=903.446865, PetaboxLoader3.datanode;dur=150.015994, PetaboxLoader3.resolve;dur=688.521912
x-app-server: wwwb-app212-dc8
x-ts: 302
x-tr: 994
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app212; path=/
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Sun, 18 Jan 2026 13:05:43 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.7.67
x-archive-orig-date: Wed, 06 Oct 2010 02:04:57 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "fb893c4f5c9b7fa7e9c1553149929f13"
x-archive-orig-x-runtime: 87ms
x-archive-orig-content-length: 33518
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Wed, 06 Oct 2010 02:04:57 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_18_20101006001238_crawl102-c/52_18_20101006020420_crawl101.arc.gz
server-timing: captures_list;dur=0.536294, exclusion.robots;dur=0.021238, exclusion.robots.policy;dur=0.009036, esindex;dur=0.010489, cdx.remote;dur=13.833930, LoadShardBlock;dur=300.103947, PetaboxLoader3.datanode;dur=191.903037, PetaboxLoader3.resolve;dur=73.142267, load_resource;dur=76.654364
x-app-server: wwwb-app212-dc8
x-ts: 200
x-tr: 475
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
scottgonzalez's node-chat at master - GitHub
- Source
- Commits
- Network (6)
- Issues (3)
- Wiki (1)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
Sending Request…
Downloads
| name | age | message | |
|---|---|---|---|
| |
TODO | Wed May 26 17:19:40 -0700 2010 | Added support for UTF-8 nicks. [scottgonzalez] |
| |
changelog | Tue May 18 20:14:57 -0700 2010 | Added TODO and changelog. [scottgonzalez] |
| |
demo/ | Wed May 26 17:19:40 -0700 2010 | Added support for UTF-8 nicks. [scottgonzalez] |
| |
lib/ | Sun May 30 18:52:45 -0700 2010 | Removed unused array of servers. [scottgonzalez] |
| |
readme.md | Tue May 18 18:23:00 -0700 2010 | Updated readme to include id property in events. [scottgonzalez] |
| |
web/ | Fri May 21 19:05:12 -0700 2010 | Moved nodechat.js (client library) out of demo. [scottgonzalez] |
readme.md
NodeChat
NodeChat is a simple, scalable web-based chat server built on Node.js.
Server
Creating a chat server is super simple.
// create a server at https://localhost:8001
var chat = require("lib/server");
var chatServer = chat.createServer();
chatServer.listen(8001);
Once you've created a server, you can add channels.
// create a channel at https://localhost:8001/chat
var channel = chatServer.addChannel({ basePath: "/chat" });
Channels have three options:
basePath(required) - the URL to use for the channelmessageBacklog(default 200) - how many message to keep in memorysessionTimeout(default 60) - how many seconds to wait before killing inactive sessions
Client
NodeChat comes with a client library built on jQuery to make it easy to connect to a NodeChat server.
// connect to a channel
var channel = nodeChat.connect("https://localhost:8001/chat");
// join the channel
channel.join("my-nick");
// send a message to the channel
channel.send("hello");
// leave the channel
channel.part();
Events
The server and client both emit events on the channel objects.
join- emitted when someone joins the channel.msg- emitted when someone sends a message to the channel.part- emitted when someone leaves the channel.
Each event receives an object with the following properties:
id- unique id for the event (unique per channel).nick- the nick of the user who performed the action.type- the type of action (will be same as the event type).text- text associated with the action.timestamp- when the action occurred.
In addition, the client emits a connectionerror event if the connection to the server is lost.
Installation & Demo
To install:
git clone https://github.com/scottgonzalez/node-chat
To run the demo:
./node-chat/demo/chat.js
Then open https://localhost:8001 in a browser.
- © 2010 GitHub Inc. All rights reserved.
- Terms of Service
- Privacy
- Security
Keyboard Shortcuts
Site wide shortcuts
- s
- Focus site search
- ?
- Bring up this help dialog
Commit list
- j
- Move selected down
- k
- Move selected up
- t
- Open tree
- p
- Open parent
- c or o or enter
- Open commit
Pull request list
- j
- Move selected down
- k
- Move selected up
- o or enter
- Open issue
Issues
- j
- Move selected down
- k
- Move selected up
- x
- Toggle select target
- o or enter
- Open issue
- I
- Mark selected as read
- U
- Mark selected as unread
- e
- Close selected
- y
- Remove selected from view
- c
- Create issue
- l
- Create label
- i
- Back to inbox
- u
- Back to issues
- /
- Focus issues search
Network Graph
- ← or h
- Scroll left
- → or l
- Scroll right
- ↑ or k
- Scroll up
- ↓ or j
- Scroll down
- t
- Toggle visibility of head labels
- shift ← or shift h
- Scroll all the way left
- shift → or shift l
- Scroll all the way right
- shift ↑ or shift k
- Scroll all the way up
- shift ↓ or shift j
- Scroll all the way down