Thanks very much for the help with this, Charles.
I haven’t had any success with your code, unfortunately. I was getting this error when I run the ‘set’ command:
The specified module could not be found.zlib
I downloaded zlib.dll, and put it into Windows/System32 and Windows/SysWOW64 so it would be picked up. I refered to https://code.kx.com/wiki/Cookbook/FileCompression and ran the first example. It created a 78MB file and then a 135KB file, so the compression module might be loaded.
Welcome to kdb+ 32bit edition
For support please see http://groups.google.com/d/forum/personal-kdbplus
Tutorials can be found at http://code.kx.com/wiki/Tutorials
To exit, type \
To remove this startup msg, edit q.q
q)`:test set asc 10000000?100;
q)a:-19!(:test;
:ztest;17;2;6);
q)get[:test]~get
:ztest
1b
q).z.zd:19 2 1;:dummy set 1000#0;hdel
:dummy;system"x .z.zd" / loads zlib as side-effect
q).z.ws:0N!;
q)server:“premws-pt1.365lpodds.com”;
q)location:“/zap/”;
q)(`$“:wss://”,server)“GET “,location,” HTTP/1.1\r\nHost: “,server,”\r\nSec-WebSocket-Protocol: zap-protocol-v1\r\n\r\n”
0Ni
"HTTP/1.1 101 Switching Protocols\r\nconnection: Upgrade\r\nsec-websocket-ext..
q)(-26!)
SSLEAY_VERSION | OpenSSL 1.0.2q 20 Nov 2018
SSL_CERT_FILE | /usr/local/ssl/server-crt.pem
SSL_CA_CERT_FILE | /usr/local/ssl/cacert.pem
SSL_CA_CERT_PATH | /usr/local/ssl
SSL_KEY_FILE | /usr/local/ssl/server-key.pem
SSL_CIPHER_LIST | ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:..
SSL_VERIFY_CLIENT| NO
SSL_VERIFY_SERVER| NO
q)
I still can’t see a valid handle, though. I’m using OpenSSL 1.0.2q 20 Nov 2018 and have testing the client configuration at www.howsmyssl.com as outlined, but it says it’s fine. Both the ws:// and wss;// websockets at websocket.org are showing valid handles when I connect using this version of SSL. I’m just using the default list of ciphers in the example, but not sure it’s relevant. I’ve double-checked that I’ve set SSL_VERIFY_SERVER=NO in the User environment variables, so I’ve haven’t created or referenced any certs. If I force the websocket call through a proxy and examine it in Fiddler outside q it looks fine and gets a response: it just closes immediately.
r:`:ws://127.0.0.1:8888 “GET https://”, server, “/zap/ HTTP/1.1\r\nHost:”, server, “\r\nSec-WebSocket-Protocol: zap-protocol-v1\r\n\r\n”;
Is there anything I can do to see a more verbose output to see what’s happening during the handshake? Or to test whether either OpenSSL or the compression library are being loaded properly?
Would appreciate any help with this.