{"id":693,"date":"2015-04-22T20:01:00","date_gmt":"2015-04-22T21:01:00","guid":{"rendered":"http:\/\/www.tamats.com\/blog\/?p=693"},"modified":"2015-04-22T20:01:00","modified_gmt":"2015-04-22T21:01:00","slug":"sillyserver-js-another-lib-for-my-github","status":"publish","type":"post","link":"https:\/\/www.tamats.com\/blog\/?p=693","title":{"rendered":"SillyServer.js another lib for my github"},"content":{"rendered":"<p>Sometime ago when I started playing with WebSockets I created a tiny server in nodejs that would bounce back all the packets received to all the connected users. I kept improving it and today I decided it would be nice to refactor,document and share it. I have upload it to <a href=\"https:\/\/github.com\/jagenjo\/SillyServer.js\">github<\/a>.<\/p>\n<p>It comes with some handy functionalities like rooms, data storage, REST API to retrieve info about rooms, and with its own client library so you don&#8217;t need to memorize the API. I wouldnt recommend to use it on production, mostly because it is easy to hack, but it is handy to connect users in a website between them.<\/p>\n<p>It is the one I use in my <a href=\"?p=237\">sharedcanvas<\/a> web application.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sometime ago when I started playing with WebSockets I created a tiny server in nodejs that would bounce back all the packets received to all the connected users. I kept improving it and today I decided it would be nice to refactor,document and share it. I have upload it to github. It comes with some [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,3,29,26,21],"tags":[],"class_list":["post-693","post","type-post","status-publish","format-standard","hentry","category-coding","category-devlog","category-html5","category-javascript","category-webdevelopment"],"_links":{"self":[{"href":"https:\/\/www.tamats.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tamats.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tamats.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tamats.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tamats.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=693"}],"version-history":[{"count":1,"href":"https:\/\/www.tamats.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/693\/revisions"}],"predecessor-version":[{"id":694,"href":"https:\/\/www.tamats.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/693\/revisions\/694"}],"wp:attachment":[{"href":"https:\/\/www.tamats.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tamats.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tamats.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}