IPX/SPX Programming Manual

Sample Programs
HP NonStop IPX/SPX Programming Manual528022-001
6-3
Client and Server Programs Using SPXII
break;
}
if (bytesReceived == 0) {
/* received end of file */
printf("SPX Server: received EOF\n");
FILE_CLOSE_((short)newsock);
break;
}
printf("SPX Server: received %d bytes\n", bytesReceived);
}
}
}
Sample SPXII Client
/*
* Sample SPX client program. This example connects
* to a server that is waiting on a "well known" port.
*/
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <errno.h>
#include <socket.h>
#include <nv.h>
#include <netdb.h>
#define DATA_BUF_SIZE 512
#define WELL_KNOWN_PORT 0x5555
main(int argc, char *argv[])
{
struct sockaddr_nv snv;
char buf[DATA_BUF_SIZE];
int bytesSent;
int sock;
/*
* Specify the name of the NonStop IPX/SPX
* Protocol Process if required.
*/
socket_set_nv_name("$NV3A");
/*
* Open a socket.
*/
sock = socket(AF_NV, SOCK_STREAM, 0);
if (sock < 0) {
perror("SPX Client: socket failure");
exit(1);
}
snv.snv_family = AF_NV;
/*
* Set up the remote address - 4 byte net,
* 6 byte remote host, and 2 byte remote
* port (i.e. remote IPX socket number.)
*/
snv.snv_addr.s_net[0] = 0x00;
snv.snv_addr.s_net[1] = 0x00;
snv.snv_addr.s_net[2] = 0x00;
snv.snv_addr.s_net[3] = 0x00;