Sorry for intruding the discussion ... there's also this solution I've been implementing and using with Pd for live performances :
https://github.com/sebpiq/rhizome It's node.js based, so it should be very performant. ------ end of advertisment :) ------ On Mon, Nov 28, 2016 at 4:04 AM Nicolas Lhommet <[email protected]> wrote: > Hi pd folks ! Billy Stiltner kindly forwarded me its recent posts, so I > briefly suscribe to the list again only to reply to these questions > regarding my old (and sole) publicly released pd tool. > > On Thu, Nov 18, 2016 at 16:16 PM, Chris McCormick <chris at mccormick.cx> > wrote: > > The reason I didn't implement a websocket server is because I'd have to > > figure out how to do sha hashing in pure-Pd and that is more effort > > than I can put in right now. > ... > >> did you see the pd websocket server? > >> it has some similar parts but looks way more complicated and is not > >> vanilla plus it uses iemnet tcp server or the onefrom mr peach, would > be > >> nice > >> to reduce the number of connections and vanilarize it just for a simple > >> fudi thing > > > > Yeah it would be but the sticking point is going to be the small amount > > of crypto stuff that websockets require. Not impossible maybe but > difficult. > > Yeah Chris, this mostly RFC-compliant websocket-server patch (that I > outrageously announced on this list in january 2014) has all the required > crypto stuff you talk about (made stricly of vanilla objects) : SHA-1 > hashing + Base64 encoding... and how could it be otherwise ?! Billy brought > its existence to your attention, so why keep using this conditional tense ? > (or is this matter only up to you, New-York New-York?? haha). Since its > release, many people found it on Sourceforge after typing "pd websocket" > on google and the like, and used the original patch without problem (only > recently asking for help with deken). So not impossible maybe but > difficult to understand you didn't try to check this stuff... > > And to answer to Bill now : except the mandatory [tcpserver] external, > the core server subpatch is full vanilla (including crypto), as clearly > mentioned next to it in the patch. Only the demo and specific examples used > a couple of additionnal externals, mostly for pd messages<->ascii codes > conversion (at that time the 'fromsymbol' options of the [list] object were > new in vanilla but not yet in latest Pd-extended, which was the target > release). > > Sure, it's far from perfect, some part could be better, it's heavyweight, > cpu intensive, and totally over the top if you just need to send and > receive a dozen of little text messages every second. But, even if it won't > scale well as message length and the number of clients grows, it has been > thoroughly constructed and tested to handle the best as it can multiple > concurrent connections/disconnections from all flavors of browsers, and to > sustain up to 24 clients (a limit of implementation that can be easily > enhanced, or even removed with mrpeach) and hundreds of kilobytes/seconds > of total throughput with iemnet external (though lag, freeze or > disconnections will occur more frequently when pushing it to the limits). > > On Tue, Nov 22, 2016 at 12:29 AM, Billy Stiltner <billy.stiltner at > gmail.com> wrote: > > this is insane lol > > you have the webpage in pd send the webpage to the browser before the > > client(in the webpage) is connected to the > > server. > > just exactly how does that work? > This is insanely working like it should do : https://en.wikipedia > .org/wiki/WebSocket#Protocol_handshake > > > and of course point the webbrowser to the port the server was connected > to > > instead of the one > > shown in the yellow canvas instructions its not 9998 but the other one > Hum..? There is one and only one tcp port in use (see previous answer) > > > anyways, the tof library > > and zexy library things , couldnt they now be replaced with vanilla > > objects like > > list to/from symbol? > Yes they can, and to make things easier, I made just that with the new > quasi-vanilla version (needs only to add mrpeach via the Help->Find > externals menu) now available at the same place : > https://sourceforge.net/projects/websocketserverinapatch/ > > It seems you were looking not only for "incoming text as pd messages" > conversion, but also with "semicolon-style-send" support (which couldn't > work with the funny but ugly trick of netsend/netreceive used locally > only to parse numbers in symbols as proper floats, like the world's worst > web server with a fancy name does : so much for your other questions left > unanswered..). Maybe you were too shy to ask in your hearty emails, anyway > I've added just that in the vanilla "text2pdmessage" subpatch especially > for you. > > > looks like lots of things could be simplified as well as > Some of it could be simplified by dropping extended features like > transparent support for both iemnet and mrpeach [tcpserver] externals and > the convoluted workarounds addressed to some of their respective bugs in > Pd-Extended, like those occuring when stressed or with keeped-alive > connections (by the way, this was explained in detail in the info > subpatches and comments). > > > use of the vanilla netrecieve > It can be done with some trivial additions to x_net.c that would bring the > missing 'per-socket' operations to [netreceive] with a couple of > additional commands + an optional third outlet, similarly to the 'net' > externals. I made and tried a 40 lines diff-patch (that doesn't disrupt > normal behaviour) and preliminary tests showed good performance and > stability with this network intensive patch. > > Still, besides simple bi-directionnal http mechanisms now possible for a > couple of years in pd-vanilla, a better and more pragmatic approach for > websockets, like for any kind of (widespread enough) intensive low level > stuff, would be to quickly build an external on top of an existing, well > tested library, and that's what Rafael Vega did and announced here in 2013 > : https://github > .com/dancing-bone-machine/dancing-bone-machine/tree/master/library/dancing-bone-machine/pd/externals/ > src/websocket_server > > "I want to be a part of it... and find I'm A number one, King of the hill, > Top of the List..Head of the heap" ahaha!! Tschüß ! > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list >
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
