暂无描述

Lucas Stadler 4a50a11db6 instructions for running this thing. 11 年之前
..
public e2071fe772 fix serving from a non-default host/port. 11 年之前
.gitignore 76eb7fa979 add the simplest archiver possible. 11 年之前
README.md 4a50a11db6 instructions for running this thing. 11 年之前
archiver.js 76eb7fa979 add the simplest archiver possible. 11 年之前
package.json 6a0bd40c8b try serving http and ws from the same server. 11 年之前
server.js 6a0bd40c8b try serving http and ws from the same server. 11 年之前

README.md

babl

a simple, web-based chat server using websockets.

running it

$ npm install
$ PORT=10001 node server

The server is now running on http://localhost:10001.

You can also archive all messages ever sent:

$ HOST_URL=ws://localhost:10001 node archiver

This allows clients to load the previous messages on initial load.

ideas

  • starting out should be as easy as possible
    • start with a purely client-side bot/script
      • who will answer on the client? the logged in user or a user-specific bot?
    • use same api on server
      • still, some things aren't possible on the client (unrestricted http requests, file writing or custom protocols)
  • would be cool to support images & youtube videos via the same (client-side) api, possibly even audio or canvas?
  • don't want to reinvent security, protocols... is it possible to use hubot? (setup is quite complex, need to understand quite a few different parts)

wishlist

  • how do we websocket efficiently? should we batch (both client and server), should/could we send binary?

api playground

here are some ideas how the api could look.

// client-side
var chat = document.querySelector("#chat");

babl.on('connection', function(conn) {
    conn.on('message', function(msg) {
        var display_msg = msg.user + "(" + msg.timestamp + "): " + msg.text;
        chat.textContent += display_msg + "\n";
    });
});