|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- # SockSugar
-
- SockSugar is a rather simple library to simplify working with WebSockets. It makes WebSockets work somewhat like regular HTTP requests.
-
- ## Usage
-
- ### Requests
-
- Requests resemble HTTP requests, where the client send data to the server and wait for a response.
-
- On the server side:
-
- var SockSugar = require("socksugar");
-
- var server = new SockSugar({
- port: 8081
- });
-
- server.on("connection", function(socket) {
- console.log("Connection!");
-
- socket.on("request", function(req) {
- console.log("Request for "+req.url);
- console.log(req.data);
-
- req.reply({
- msg: "No."
- });
- });
- });
-
- On the client side:
-
- var sock = new SockSugar("ws://example.com");
-
- sock.on("ready", function() {
- sock.send("hi", {
- msg: "Hi!"
- }, function(err, data) {
- console.log(data);
- }
- });
-
- The server side console will say:
-
- Connection!
- Request for hi
- { msg: 'Hi!' }
-
- The client side console will say:
-
- { msg: 'No.' }
-
- ### Events
-
- Unlike HTTP, the server can push data to the client. Here's a simple example, where writing something in the console will emitt an event to all connected clients and displayed with alert().
-
- On the server side:
-
- var SockSugar = require("socksugar");
-
- var server = new SockSugar({
- port: 8081
- });
-
- process.stdin.on("data", function(data) {
- var str = data.toString("utf8");
-
- server.socks.forEach(function(sock) {
- sock.send("myEvent", {
- msg: str
- });
- });
- });
-
- On the client side:
-
- var sock = new SockSugar("ws://example.com");
-
- sock.on("myEvent", function(data) {
- alert(data.msg);
- });
|