11.06.2014 Views

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

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!