Cross-platform TCP/IP Socket programming in REXX Contents
Cross-platform TCP/IP Socket programming in REXX Contents
Cross-platform TCP/IP Socket programming in REXX Contents
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Cross</strong>-<strong>platform</strong> <strong>TCP</strong>/<strong>IP</strong> <strong>Socket</strong> Programm<strong>in</strong>g <strong>in</strong> <strong>REXX</strong><br />
<strong>Socket</strong> Programm<strong>in</strong>g Overview<br />
<strong>REXX</strong> Programm<strong>in</strong>g <strong>in</strong>terfaces are provided for:<br />
● z/OS & OS/390 TSO/E <strong>REXX</strong> via IBM <strong>TCP</strong>/<strong>IP</strong> stack<br />
● Documented <strong>in</strong> SC31-8788 z/OS Communications Server<br />
<strong>IP</strong> Application Programm<strong>in</strong>g Interface Guide<br />
● Uses the SOCKET() function<br />
● Compatible with VM and VSE<br />
● W<strong>in</strong>dows, AIX, L<strong>in</strong>ux, OS/2 via RxSock function<br />
library<br />
● Documented <strong>in</strong> Object <strong>REXX</strong> for W<strong>in</strong>dows <strong>REXX</strong> <strong>TCP</strong>/<strong>IP</strong><br />
<strong>Socket</strong> Library Functions (RxSock)<br />
● Provides 27 <strong>REXX</strong> functions, all start<strong>in</strong>g w/ Sock…()<br />
● Reg<strong>in</strong>a <strong>REXX</strong> (many <strong>platform</strong>s) provides an RxSock<br />
compatible version match<strong>in</strong>g the IBM Object <strong>REXX</strong><br />
17<br />
Basic <strong>Socket</strong> Send/Receive Functions<br />
● Sock<strong>Socket</strong>(doma<strong>in</strong>, type, protocol) PC<br />
<strong>Socket</strong>('SOCKET', doma<strong>in</strong>, type, protocol) MVS<br />
● Creates a new socket and returns its number<br />
● Typical parms: 'AF_INET','SOCK_STREAM', '<strong>IP</strong>PROTO_<strong>TCP</strong>'<br />
● SockRecv(socket, buffer, length, flags) PC<br />
<strong>Socket</strong>('Recv', socket, length, flags) MVS<br />
● Reads data from socket, up to length bytes (may return<br />
less)<br />
● SockSend(socket, dataToSend, flags) PC<br />
<strong>Socket</strong>('Send', socket, dataToSend, flags) MVS<br />
● Writes dataToSend to socket<br />
● SockClose(socket) PC<br />
<strong>Socket</strong>('Close', socket)<br />
MVS<br />
● Closes socket (makes it unusable on both sides)<br />
18<br />
9<br />
updated 17-Aprr-2005 Copyright © 2005 ProTech Professional Technical Services, Inc.