Thanks Gustaf, I’m going to uninstall the older version of TCLLIB.
Yes it works! It’s more than enough! In fact, since your previous commit, last Sunday the weekend, I was able to understand the implementation "workflow" and aspects of writing a client app in the backend scene. I’m going to download the latest commit and try it out. Furthermore, Chat and log-viewer samples are very nice and clean. You guys have separated very well the frontend app and backend in the ADP and TCL files respectively. Best wishes, I > On Dhuʻl-Q. 23, 1441 AH, at 08:08, Gustaf Neumann <neum...@wu.ac.at> wrote: > > On 12.07.20 02:14, Iuri de Araujo Sampaio wrote: > >> However, when I run the first version of the code, and it returns an error >> related to: Error: can't set "formMap": variable is array >> >> /usr/local/src/ns-4.9.17/tcl8.6.8/library/http/http.tcl: return [string >> map $formMap $string] >> /usr/local/src/tcl8.6.9/library/http/http.tcl: variable formMap [array >> get map] >> >> The error is related to core packages, and I believe it happens to fail >> because that source is some sort of an old code. Thus, it’s not a good idea >> to fork it at all. > Dear Iuri, > > this error comes form the tcllib (and it seems, you have two versions of > tcllib installed). This error is not related with NaviServer, i have no > knowledge about the internals of the tcllibs' http package. > > As you have noticed, i have added a simple client side interface to the > websocket package of NaviServer on bitbucket. In essence, this means to add > support for "masked" messages, which are required for client frames > for WebSockets. > I've also added client-side SNI support to ns_connchan to be able to connect > to a server with virtual hosting via HTTPS that provides multiple > certificates via SNI (Server Name Indication). So the current version of the > NaviServer websocket module (just committed) requires as well the current > version of NaviServer. > > Don't expect this little interface (client-side websocket: ~150 LOC) to be > feature complete. It does not handle e.g. WebSocket continuations, etc. ... > but the following snippet should work ok. > > -gn > > =========== > > set WSURL wss://javascript.info/article/websocket/demo/hello > <wss://javascript.info/article/websocket/demo/hello> > set chan [ws::client::open $WSURL] > > # Send "Hello Wörld" to the echo service > ws::client::send $chan "Hello Wörld" > > # Get the reply and decode it (will return "Hello from server, Wörld!") > set replyText [ws::client::receive $chan] > > # ... do some more work and finally close the channel > ws::client::close $chan > > > _______________________________________________ > naviserver-devel mailing list > naviserver-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/naviserver-devel
_______________________________________________ naviserver-devel mailing list naviserver-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/naviserver-devel