-/* TCP_echo1.c
+/* TCP_echo.c
*
* Copyright (C) 2001-2003 Simone Piccardi
*
*/
/****************************************************************
*
- * Program ElemEchoTCPClient.c
+ * Program TCP_echo.c
* Simple TCP client for echo service (port 7)
*
* Author: Simone Piccardi
*
* Usage: echo -h give all info's
*
- * $Id: TCP_echo.c,v 1.4 2003/07/27 15:20:45 piccardi Exp $
+ * $Id: TCP_echo.c,v 1.8 2003/08/17 23:03:44 piccardi Exp $
*
****************************************************************/
/*
perror("Cannot set linger");
exit(1);
}
- return 0;
}
/* do read/write operations */
ClientEcho(stdin, sock);
while (fgets(sendbuff, MAXLINE, filein) != NULL) {
nwrite = FullWrite(socket, sendbuff, strlen(sendbuff));
if (nwrite < 0) {
- printf("Errore in scrittura %s", strerror(errno));
+ printf("Errore in scrittura: %s", strerror(errno));
+ return;
}
- nread = read(socket, recvbuff, strlen(sendbuff));
+ nread = read(socket, recvbuff, strlen(sendbuff));
if (nread < 0) {
- printf("Errore in lettura %s", strerror(errno));
+ printf("Errore in lettura: %s\n", strerror(errno));
+ return;
+ }
+ if (nread == 0) {
+ printf("EOF sul socket\n");
+ return;
}
recvbuff[nread] = 0;
if (fputs(recvbuff, stdout) == EOF) {
perror("Errore in scrittura su terminale");
+ return;
}
}
return;