If you don’t understand the question then it's doubtless because I don't 
either.  Let me explain more fully, and maybe it'll show what part of my 
ignorance needs to be filled in, so to speak.

I'm familiar with a number of 3GL programming languages, but even after I 
learned about sockets (from studying and using the REXX calls mentioned below) 
I pictured sockets as something exotic and complicated happening below my 
grasp, in the bowels of the OS; I needed (so I thought) an interface to connect 
to them.  (This is why I mentioned assembler earlier.)  Thus the value of the 
REXX functions for sockets; it enabled me to get to them.

My assumption was therefore that if I'm trying to implement some socket 
communications on my PC, TSO-REXX wouldn't meet my need and I'd have to write 
in a different language -- VBSCript, say -- and for that would need a different 
set of function calls, designed not for REXX but for something else, either for 
VBS specifically or something more general that object-oriented languages could 
use.

I guess you're saying below that socket calls are built into the C language, or 
more likely are part of a standard library of C functions.  I once bought a C 
compiler, but was dismayed by the amount of code that has to go into every 
program just to get started.  (I'm prejudiced by the simplicity of REXX and 
PL/1, and dislike all the verbiage that's necessary even to start a COBOL 
program.)  So I dropped the matter and never got further.  No doubt I'll get 
back to C eventually.  Meanwhile, is there a OO class (for example) that can 
interact with object-oriented languages such as VBS, Jscript, ooREXX etc?  Or 
is it time for me to buy a C compiler (again).  Or maybe VB Studio, or whatever 
it's called?

(I don't really care for VB as a language; I love it in one way because it's 
the language in which I first finally got what OO programming is about, but I 
recognize that there must be languages that do the same thing more easily.  Is 
it time for me to acquire and learn Perl?  Python?  Ruby?  Java?)

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* If you are ambushed, your survival depends entirely on the inadequacy of 
your attacker.  -Damon Fay, law-enforcement officer and tae kwon do instructor 
*/

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
Charles Mills
Sent: Wednesday, January 5, 2022 12:13

Not sure I am exactly getting the question.

In C at least, sockets are sockets are sockets. I did a whole lot of 
multi-platform C socket code and almost EXACTLY the same code will run Windows, 
Linux or legacy MVS. There is one additional call at startup that you need in 
Windows, and a few obscure functions are platform-dependent. But if you 
download a generic C sockets client/server demo program from the Web it will 
almost certainly run unmodified on Linux or MVS.

I'm not trying to sell some language here; just relating the facts as I see 
them.

Here for example is the documentation for the socket() function on MVS, Linux 
and Windows respectively:

MVS: int socket(int *domain, int type, int protocol);

The socket() function creates an endpoint for communication and returns a 
socket descriptor representing the endpoint.

Linux: int socket(int domain, int type, int protocol);

socket() creates an endpoint for communication and returns a file descriptor 
that refers to that endpoint.

Windows:

SOCKET WSAAPI socket(
  [in] int af,
  [in] int type,
  [in] int protocol
);

The socket function creates a socket that is bound to a specific transport 
service provider.

(Between you and me, "SOCKET WSAAPI" = int.)

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Bob Bridges
Sent: Wednesday, January 5, 2022 8:19 AM

That looks right, yes.  I have a PDF copy in my library.  However I don't think 
I ever saw it in this context; maybe I'll benefit by reading elsewhere in the 
"z/OS Communications Server" library, now that you've pointed me to it.

If I do, I may find the answer to my question.  But probably not; this is about 
z/OS.  What I'm asking about is what calls exist to do the same sort of 
operations on other platforms than the mainframe and from other languages than 
REXX.

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
Steve Horein
Sent: Wednesday, January 5, 2022 06:53

I believe these are the socket functions Bob is referring to:
https://www.ibm.com/docs/en/zos/2.5.0?topic=interface-runtime-functions

--- On Wed, Jan 5, 2022 at 12:15 AM Itschak Mugzach < 
00000305158ad67d-dmarc-requ...@listserv.ua.edu> wrote:
> The function name is "HTTP/HTTPS protocol enabler". It supports 
> several languauges, including rexx and works great.
>
> --- On Wed, Jan 5, 2022 at 7:04 AM Bob Bridges <robhbrid...@gmail.com> wrote:
> > Maybe not the best place to ask, but I've heard folks here mention 
> > writing interfaces using sockets.  Now, someone sent me a manual on 
> > the socket functions that could be used with REXX, and I 
> > successfully wrote a client/server pair for use on the mainframe, 
> > just as a proof of concept for a project that in the end was never 
> > executed.  I enjoyed the experience, and captivated by the possibilities.
> >
> > But it was a set of calls for use only with REXX.  I hear other 
> > folks here talk about sockets, and I'm wondering what else there is 
> > that I can use on other platforms.  Someday I'll learn assembler for 
> > Windows, but until I do, are there other tools available?

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to