home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
sockpli.zip
/
TEST.PLI
< prev
next >
Wrap
Text File
|
1995-06-27
|
4KB
|
95 lines
*PROCESS GS NEST MACRO XREF(S) A(S) SOURCE OPTIONS;
*PROCESS LANGLVL(SAA2) NOT(' ') FLAG(W);
*PROCESS LIMITS(EXTNAME(31)) MARGINS(2, 100);
*PROCESS PREFIX(NOFIXEDOVERFLOW),LINECOUNT(55);
TEST: PROC (HOSTID) OPTIONS (MAIN);
%NOPRINT;
%INCLUDE OS2PLI;
%INCLUDE OS2;
%INCLUDE SOCKET;
%INCLUDE IN;
%INCLUDE NETDB;
%INCLUDE NERRNO;
%INCLUDE UTILS;
%INCLUDE SOCKUTIL;
%PRINT;
dcl SAB /* Session anchor block */
type COM_Handle;
/* ---------------- */
dcl SrvAdr /* Details of caller's connexion*/
type SOCKADDR_IN;
/* ----------------- */
dcl L_SrvAdr /* Length of sockaddr structure */
fixed bin (31);
/* --------------- */
dcl Buffer /* Socket call accepted on */
char (90) init ('Testing 1 2 3');
/* --------------------------------*/
dcl H_HostEnt /* Hostent data area */
type @hostent;
/* -------------- */
dcl HostID /* Name of host as set by caller*/
char (100) varying;
/* ------------------- */
dcl HostName /* Name of remote host */
char (128) varz init ('GNOME.');
/* --------------------------------*/
dcl P_HAddr /* Base of HAddr */
pointer based;
/* -------------- */
dcl HAddr /* Hostent data area */
fixed bin (31) unsigned based;
/* ------------------------------ */
if HostID = '' then
HostName = HostID;
SAB.SockRc = sock_init();
if (SAB.SockRc < 0) then
display ('Sock Init Error '││EDIT(sock_errno(),'zz,zz9'));
else
do;
SAB.ConSock = socket(AF_INET, SOCK_STREAM, 0);
if (SAB.ConSock < 0) then
display ('Socket Error '││EDIT(sock_errno(),'zz,zz9'));
else
do;
H_HostEnt = gethostbyname(ADDR(HostName));
SrvAdr.Sin_Family = AF_INET;
SrvAdr.Sin_Port = HTONS(1000);
SrvAdr.Sin_Addr.S_Addr = H_HostEnt=>h_addr_list->P_HAddr->HAddr;
L_SrvAdr = STG(SrvAdr);
SAB.SockRc = connect(SAB.ConSock,
ADDR(SrvAdr),
L_SrvAdr);
if (SAB.SockRc < 0) then
display ('Connect Error '││EDIT(sock_errno(),'zz,zz9'));
else
do;
SAB.SockRc = send(SAB.ConSock, ADDR(Buffer), STG(Buffer), 0);
if (SAB.SockRc < 0) then
display ('Send Error '││EDIT(sock_errno(),'zz,zz9'));
else
do;
SAB.SockRc = recv(SAB.ConSock, ADDR(Buffer),
STG(Buffer), 0);
if (SAB.SockRc < 0) then
display ('Recv Error '││EDIT(sock_errno(),'zz,zz9'));
else
display (LEFT(Buffer,SAB.SockRc));
end;
end;
end;
end;
END TEST;