IPX/SPX Programming Manual

Sample Programs
HP NonStop IPX/SPX Programming Manual528022-001
6-11
Client and Server Programs Using IPX
* Open a socket.
*/
sock = socket(AF_NV, SOCK_DGRAM, 0);
if (sock < 0) {
perror("socket failure");
exit(1);
}
/*
* IPX Protocol Process will
* fill in host and network portions
* of the address
*/
memset(&snv, 0, sizeof(snv));
snv.snv_family = AF_NV;
snv.snv_addr.s_port = WELL_KNOWN_PORT;
/*
* Bind to the socket that we intend to receive data on.
*/
if (bind(sock, (struct sockaddr *)&snv, sizeof(snv)) < 0) {
perror("SPX Server: bind failure");
exit(1);
}
for (;;) {
/*
* Receive data from remote.
*/
bytesReceived = recvFrom
(sock, buf, DATA_BUF_SIZE, 0,
(struct sockaddr *)&snv, &len);
if (bytesReceived == -1) {
perror("recvfrom failure");
exit(1);
}
printf("IPX Client: received %d bytes from port
0x%hx\n", bytesReceived, snv.snv_addr.s_port);
}
}