#include "windows.h" #include "winsock.h" #include #define BUFSIZE 1024 printWSA (WSADATA *WSAdata) { printf ("WSA data :\n"); printf ("\tversion %x\n", WSAdata->wVersion); printf ("\thighest %x\n", WSAdata->wHighVersion); printf ("\tdescription <%s>\n", WSAdata->szDescription); printf ("\tstatus <%s>\n", WSAdata->szSystemStatus); printf ("\tmax sockets %d\n", WSAdata->iMaxSockets); printf ("\tmax datagram size %d\n", WSAdata->iMaxUdpDg); } #define PACKET_SIZE 32 int send1 (SOCKET s, char FAR *data, int l, int opt) { int i, j, np, status; np = (l + PACKET_SIZE - 1) / PACKET_SIZE; for (i=0; i\n", filename); f = fopen (filename, "r"); if (f == NULL) { sprintf (buf_out, "Cannot open file <%s>\n", filename); status = send (s, (char FAR *)buf_out, strlen(buf_out), 0); printf ("%d bytes sent\n", status); printf (buf_out); } else { for (;;) { status = fread (buf_out, 1, sizeof(buf_out), f); printf ("%d bytes read from file\n", status); buf_out[status] = 0; printf ("<%s>\n", buf_out); if (status <= 0) break; status1 = send (s, (char FAR *)buf_out, status, 0); printf ("%d bytes sent\n", status1); } fclose (f); } } get_filename (char *buf, char *filename) { int i, j, l; l = strlen (buf); for (j=0; j\n", filename); } send_file (char *filename, SOCKET s) { FILE *f; static char buf_out[BUFSIZE]; /*512*/ /* char buf_in[512]; */ int c; int status, status1; f = fopen (filename, "r"); if (f == NULL) { sprintf (buf_out, "Cannot open file \"%s\"\n", filename); status = send (s, (char FAR *)buf_out, strlen(buf_out), 0); printf ("%d bytes sent\n", status); printf (buf_out); } else { for (;;) { status = fread (buf_out, 1, sizeof(buf_out), f); printf ("%d bytes read from file\n", status); buf_out[status] = 0; printf ("<%s>\n", buf_out); if (status <= 0) break; status1 = send (s, (char FAR *)buf_out, status, 0); printf ("%d bytes sent\n", status1); } fclose (f); } } treat_get (char *buf, SOCKET s) { char filename[200]; get_filename (buf, filename); send_file (filename, s); } get_input (char *buf, char *input) { int i, j, l; *input = 0; l = strlen (buf); for (i=0; i