2

How would I connect a Dyalog APL Client to reach out to a q server and execute a simple transaction (like "2+2")? The protocol seems simple enough and very well documented when it comes to decoding the answer, but I can't seem to get past the very first step, the initial handshaking, either with Dyalog APL or VBA. For now, if I could get to localhost, that would be enough.

The documentation I was using is https://code.kx.com/wiki/Reference/ipcprotocol

Lurgid Bee
  • 63
  • 7

3 Answers3

2

For Dyalog APL, you'd use Conga (Dyalog's TCP/IP utility library). The Conga User Guide contains good examples on how to create simple text-based TCP/IP clients.

Brian
  • 66
  • 3
  • Thanks for the suggestion. I would prefer to stick with native Dyalog TCP/IP. – Lurgid Bee Apr 17 '18 at 14:29
  • I'm curious about your desire to stay with the obsolete TCP objects. Conga connections are easier to set up, take down and handle errors on - they have a host of new features to make application development easier :-). Can you tell us anything about the reasons for this preference? – Morten Kromberg May 07 '18 at 07:44
2

I got a prototype of a Q interface up and running a few years ago, handling most of the basic data types. It is based on Conga - rewriting it for the old TCPSocket objects should not be too hard, but not something that we are planning to do since they are now considered obsolete.

I should put the code up on GitHub but am a little pressed for time this week; if you can't wait a week or so, send me an e-mail (mkrom@...com), let me know which version of Dyalog APL you are running and I'll send you my workspace containing the code.

Morten Kromberg
  • 643
  • 5
  • 5
0

Kimmo Linna, a user of both kdb+ and Dyalog APL, has posted done some work to update and enhance my work on qconnect - you can find it at https://github.com/kimmolinna/qconnect

Morten Kromberg
  • 643
  • 5
  • 5