Altre correzioni, con esempi sul server fortunes e relativa "demonizzazzione"
[gapil.git] / sources / SimpleEchoTCPServer.c
index 35a2737cc061cecaa644c1a7dc539e2e07156943..d4ba728fcb0ab2d65109ef41db4690a68be54b00 100644 (file)
@@ -1,6 +1,24 @@
+/* SimpleEchoTCPServer.c
+ * 
+ * Copyright (C) 2001 Simone Piccardi
+ * 
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
 /****************************************************************
  *
- * Program echo_tcp_server.c
+ * Program echod
  * Elementary TCP server for echo service (port 7)
  *
  * Author: Simone Piccardi
@@ -8,7 +26,7 @@
  *
  * Usage: echod
  *
- * $Id: SimpleEchoTCPServer.c,v 1.1 2001/06/10 11:47:17 piccardi Exp $ 
+ * $Id: SimpleEchoTCPServer.c,v 1.5 2002/12/03 11:06:05 piccardi Exp $ 
  *
  ****************************************************************/
 /* 
 #include <stdio.h>      /* include standard I/O library */
 #include <time.h>
 
-#include "wrappers.h"
-
 #define BACKLOG 10
 #define MAXLINE 256
 
-/* Subroutine declaration */
+/* Subroutines declaration */
 void usage(void);
 void SockEcho(int sockfd);
-
-/* Program begining */
+/* Program beginning */
 int main(int argc, char *argv[])
 {
 /* 
@@ -77,7 +92,7 @@ int main(int argc, char *argv[])
     /* initialize address */
     memset((void *)&serv_add, 0, sizeof(serv_add)); /* clear server address */
     serv_add.sin_family = AF_INET;                  /* address type is INET */
-    serv_add.sin_port = htons(13);                  /* daytime port is 13 */
+    serv_add.sin_port = htons(7);                   /* echo port is 7 */
     serv_add.sin_addr.s_addr = htonl(INADDR_ANY);   /* connect from anywhere */
     /* bind socket */
     if (bind(list_fd, (struct sockaddr *)&serv_add, sizeof(serv_add)) < 0) {
@@ -130,7 +145,8 @@ void SockEcho(int sockfd) {
     int nread, nwrite;
     
     /* main loop, reading 0 char means client close connection */
-    while ( (nread = SockRead(sockfd, buffer, MAXLINE)) != 0) {
+    while ( (nread = read(sockfd, buffer, MAXLINE)) != 0) {
+       printf("Letti %d bytes, %s ", nread, buffer);
        nwrite = SockWrite(sockfd, buffer, nread);
     }
     return;