I don't understand why you couldn't use RxSock on your PC. From RxSock TCP/IP
Socket Functions Reference:
RxSock is a Rexx function package providing access to the TCP/IP socket APIs
available to the C programming environment. Most of the functions described
in this reference are similar to the corresponding C functions available in
the
TCP/IP socket library.
The following sections describe the socket class supplied with ooRexx. This
class encapsulates the rxsock external functions into several classes that
improve the functionality if the external function library by extending the
error
checking and reducing the amount of code needed in an average rxsock
program.
BSF4ooRexx allows an oorexx program to use Java classes.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
________________________________________
From: IBM Mainframe Discussion List [[email protected]] on behalf of Bob
Bridges [[email protected]]
Sent: Wednesday, January 5, 2022 12:56 PM
To: [email protected]
Subject: Re: Sockets?
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, [email protected], 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 <[email protected]> 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:[email protected]] 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 <[email protected]> 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 <
[email protected]> 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 <[email protected]> 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
[email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to
[email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN