home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / tcps.zip / tcps.c < prev    next >
C/C++ Source or Header  |  2001-05-24  |  1KB  |  60 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <types.h>
  4. #include <netinet\in.h>
  5. #include <sys\socket.h>
  6. #include <sys/time.h>
  7.  
  8. main(int argc, char *argv[])
  9. {
  10.     unsigned short port;       /* port server binds to                  */
  11.     struct sockaddr_in client; /* client address information            */
  12.     struct sockaddr_in server; /* server address information            */
  13.     int s,ns,namelen;
  14.  
  15.     printf("sock_init()\n");
  16.     sock_init();
  17.     port = 20201;
  18.  
  19.     printf("socket()\n");
  20.     if ((s = socket(PF_INET, SOCK_STREAM, 0)) < 0)
  21.     {
  22.         psock_errno("Socket()");
  23.         exit(2);
  24.     }
  25.  
  26.     server.sin_family = AF_INET;
  27.     server.sin_port   = htons(port);
  28.     server.sin_addr.s_addr = INADDR_ANY;
  29.  
  30.     printf("bind()\n");
  31.     if (bind(s, (struct sockaddr *)&server, sizeof(server)) < 0)
  32.     {
  33.        psock_errno("Bind()");
  34.        exit(3);
  35.     }
  36.     printf("listen()\n");
  37.     if (listen(s, 1) != 0)
  38.     {
  39.         psock_errno("Listen()");
  40.         exit(4);
  41.     }
  42.  
  43.     namelen = sizeof(client);
  44.     printf("accept()\n");
  45.     if ((ns = accept(s, (struct sockaddr *)&client, &namelen)) == -1)
  46.     {
  47.         psock_errno("Accept()");
  48.         exit(5);
  49.     }
  50.  
  51.     printf("soclose()\n");
  52.     soclose(ns);
  53.     soclose(s);
  54.  
  55.     printf("Server ended successfully\n");
  56.     exit(0);
  57. }
  58.  
  59.  
  60.