I should add... In HTTP version 0.9, that request would have been implemented by sending '/v2/sip',LF and then waiting for the response. There are still quite a number of servers which respect HTTP 0.9 requests because that can be convenient for operations people when debugging certain kinds of issues.
In HTTP version 1.0 that request could have been implemented by sending 'GET /v2/sip HTTP/1.0',LF,LF and then waiting for the response, though usually there would be additional header lines before the blank line (and some other request types might also be supported). In later versions of HTTP, various optimizations were added, and HTTP version 2 is a binary protocol rather than a textual protocol. Anyways, sometimes it helps to see some simple examples... Take care, -- Raul On Thu, Jul 1, 2021 at 3:02 PM Raul Miller <rauldmil...@gmail.com> wrote: > > You need to understand internet protocols a bit more, before that can work. > > Here's a brief overview. > > Computers hooked to the internet use a software/hardware stack which > looks something like this: > > application layer (supplies/consumes data) > transport layer (organizes access to the internet) > internet layer (identifies addresses and protocol, makes best effort to > deliver) > network layer (where all the messy communications happen) > electrical layer (computers, wires, antenna, all powered on) > physical layer (the hardware itself) > > https://www.w3.org/People/Frystyk/thesis/TcpIp.html > > Anyways... host addresses are something for the internet layer. With a > host address, you can send packets of information and know that they > will usually but not always reach their destination. (And there will > be a return address for responses that identifies your machine.) > > Also, the socket library gives you direct access to the "transport > layer". You will almost certainly be using tcp here (which does some > carefully engineered work to make it appear that you are sending an > arbitrary lengthy sequence of data and receiving an arbitrary length > sequence of data -- which is often called a "stream"). > > For something like stream.data.alpaca.markets/v2/sip you also have a > protocol that you will need to be specific about. It's probably http, > but might be https or ftp. > > Once you know the protocol (which in this case would also identify the > transport layer "port" that you need to connect to. That would be 80 > for http, 443 for https and 21 for ftp), you can look up the details > of how that protocol works. > > And, the protocol is where the path part of that address -- the > /v2/sip part -- is used. > > Anyways, there's a lot of details here. If you want to understand > them... some people are capable of picking up the necessary details > through self study. But there's also classes which teach this kind of > thing. (Nowadays, you'll probably also hear a lot of people saying > it's too complicated to learn, and you should use a prepackaged > implementation. Whether or not you follow their footsteps or dive in > and do it yourself is up to you. That said, it's probably also worth > noting that most of the unnecessary complicated stuff falls into > disuse after a few years because it's too complicated to learn.) > > Good luck, > > -- > Raul > > On Thu, Jul 1, 2021 at 2:44 PM Ed Gottsman <edward.j.gotts...@gmail.com> > wrote: > > > > Hello. I've begun working with the socket library. I can use it to > > resolve host names: > > > > sdgethostbyname 'stream.data.alpaca.markets' > > > > ┌─┬─┬────────────┐ > > │0│2│38.122.35.99│ > > └─┴─┴────────────┘ > > > > Unfortunately, both the code (to the extent that I've been able to > > understand it) and the documentation suggest that only a "raw" host can be > > used to identify an endpoint. So, for example, there seems to be no way to > > connect to > > > > 'stream.data.alpaca.markets/v2/sip' or '38.122.35.99/v2/sip' > > > > ...which is what I'd like to do. > > > > I've mucked around trying to hit the DLL more directly--just passing it a > > url--but it's a pretty desperate approach and unlikely to succeed. I'd > > very much appreciate any ideas the community might have. > > > > Btw: I checked the nabble archive for an answer and all the emails’ > > contents read, “…the author has deleted this message.” So while the nabble > > search engine did turn up a lot of socket traffic (which is encouraging), > > it wasn’t of much help. > > > > Thank you. > > > > Ed > > > > Sent from my iPad > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm