*
* Usage: echo -h give all info's
*
- * $Id: TCP_echo.c,v 1.2 2003/06/23 18:48:04 piccardi Exp $
+ * $Id: TCP_echo.c,v 1.7 2003/08/03 18:12:47 piccardi Exp $
*
****************************************************************/
/*
#include <arpa/inet.h> /* IP addresses conversion utiliites */
#include <sys/socket.h> /* socket library */
#include <stdio.h> /* include standard I/O library */
+#include <errno.h> /* include error codes */
+#include <string.h> /* include erroro strings definitions */
#define MAXLINE 256
void usage(void);
exit(1);
}
}
- /* read daytime from server */
+ /* do read/write operations */
ClientEcho(stdin, sock);
/* normal exit */
return 0;
void ClientEcho(FILE * filein, int socket)
{
char sendbuff[MAXLINE+1], recvbuff[MAXLINE+1];
- int nread;
+ int nread, nwrite;
while (fgets(sendbuff, MAXLINE, filein) != NULL) {
- FullWrite(socket, sendbuff, strlen(sendbuff));
- nread = FullRead(socket, recvbuff, strlen(sendbuff));
+ nwrite = FullWrite(socket, sendbuff, strlen(sendbuff));
+ if (nwrite < 0) {
+ printf("Errore in scrittura %s", strerror(errno));
+ }
+ nread = read(socket, recvbuff, strlen(sendbuff));
+ if (nread < 0) {
+ printf("Errore in lettura %s\n", strerror(errno));
+ }
recvbuff[nread] = 0;
- fputs(recvbuff, stdout);
+ if (fputs(recvbuff, stdout) == EOF) {
+ perror("Errore in scrittura su terminale");
+ }
}
return;
}