Subject: SOCKIT experimentation
In-Reply-To: <00dc01d4e589$5f832ee0$1e898ca0$@net>
References: <c118ed45-e109-2465-2810-727b63587bb0@colostate.edu>
<CAAbtOZdU252kpRK5qssqv_GbGgWmF6Kt+3Pkgyru86pmJUo5Uw@mail.gmail.com>
<be954704-8078-9d34-fb7e-1c0ab239ed40@colostate.edu>
<00dc01d4e589$5f832ee0$1e898ca0$@net>
Message-ID: <c1626eaa-4a5a-2507-cd2a-7259ccc512ca@colostate.edu>
Don,
Audio rules and (IMHO) especially when signal processing is added. :)
Sockets are an ancient and venerable of implementing InterProcess Communication (IPC) developed back in the mists of time. They are commonly associated with Unix systems yet I'm going to guess that they might have had some origin story in other ancient OSes.
IPC is just what it says: the ability for different processes (programs, applications, cogent bits of executable code) to "talk" to each other. Reasons for different programs to communicate range from simple to sophisticated: "I'm done with a bit of calculation and am ready to hand it off to your for your contribution" says one process to another; "I've got some recently acquired experimental data (like outdoor temperature or x-ray flux) that is available for use"; "please give me the a particular page or image from your website" and so on.
There are several styles of IPC (too many to enumerate here) - a socket is one of them and although not limited to (inter)network communication sockets are intimately associated with it. Sockets are also definitely well associated with Unix (and its derivative) OS.
As a simple example, one way for IPC to occur is for one process to write a disk file and for any number of others to look for the file, find it and read the contents for a message. This is IPC. Good for some applications. Generally limited to programs working on ONE particular computer. This is not a good example if interCOMPUTER communication.
A socket is different (in one particular way) in that it can serve IPC on a single computer or over a network or over the internetwork (internet). In this scheme a computer creates a communication portal on it. The portal sits around waiting for some process (on the same or other computer) to make a request of it. (FWIW, this example reflects the very common HTTP style of communication used for the World Wide Web) It accepts the request and creates a response. Communication has occurred. It's kind of like a telephone ringing, being answered, information being exchanged and then "hung up." Communication.
Computer OSes often provide software tools for creating sockets (sockets are strictly software affairs). SOCKIT provides for accessing sockets in IP.
There's a lot more to describe. I hope this provides with you with a "taste" of the meaning. Good search terms include "network programming", "interprocess communication", "server-client" and so on.
Best regards,
Joseph
On Thu, 28 Mar 2019 11:12 AM, Don Keele wrote:
> Hi All,
> Hey, I'm just an innocent ignorant observer here! What the heck is a SOCKIT
> and what does it provide in an Igor program? I'm a simple, lowly, and
> unsophisticated audio guy!
>
> --
> Best Regards,
> Don Keele
>
> D. B. (Don) Keele, Jr.
> Chief Consultant and Owner
> DBK Associates and Labs
> 6435 E. Wellston Dr.
> Bloomington, IN 47408
> Cell: (812) 219-3951
> mailto: DKeeleJr at Comcast.net
> Skype: donkeele
> http://www.DBKeele.com/
--
Joseph A. DiVerdi, Ph.D., M.B.A.
Associate Professor of Chemistry
Colorado State University, Fort Collins, CO, USA
+1.970.980.5868 - http://sites.chem.colostate.edu/diverdi