revised network blackjack game
jon at msunix.UUCP
jon at msunix.UUCP
Fri Aug 1 16:33:23 AEST 1986
Dammit. I didn't bother to make sure it ran on the VAX, and sure
enough, I've received a number of coomplaints that it doesn't run
on a VAX. I tried to remove byte order problems so it could work
between a Sun and a VAX, but instead introduced more problems.
Not only did I use the wrong conversions for the wrong size arguments,
but the logic was wrong also. Here is the sockio.c which works on the
Sun and VAX.
#include <stdio.h>
/*
* Routines to send and receive on sockets. Four bytes of length are
* sent, followed by the null terminated string.
*
*/
void sockread(s, buf)
int s; /* socket to talk on */
char *buf; /* string to send */
{
int nbytes;
(void) read(s, (char *) &nbytes, sizeof(int));
nbytes = ntohl(nbytes);
(void) read(s, buf, nbytes);
}
void sockwrite(s, buf)
int s; /* socket to talk on */
char *buf; /* string to read on */
{
int nbytes, netnbytes;
nbytes = strlen(buf) + 1;
netnbytes = htonl(nbytes);
(void) write(s, (char *) &netnbytes, sizeof(int));
(void) write(s, buf, nbytes);
}
More information about the Comp.sources.bugs
mailing list