Advertisement
Agus_Darmawan

ser1.c

Mar 30th, 2021
534
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.22 KB | None | 0 0
  1. /*
  2.  *  ser1.c  -   For ICT374 Topic 8
  3.  *              Hong Xie
  4.  *              Last modified: 16/10/2020
  5.  *      test for UNIX domain stream socket (server part)
  6.  *      This is a very **crude** program.
  7.  */
  8.  
  9. #include  <unistd.h>
  10. #include  <stdlib.h>
  11. #include  <sys/types.h>
  12. #include  <sys/socket.h>
  13. #include  <sys/un.h>
  14. #include  <string.h>
  15. #include  <errno.h>
  16.  
  17. char serversockname[]="serversocket";
  18.  
  19. int main()
  20. {
  21.      int sd, nsd, n;
  22.      char buf[256];
  23.      struct sockaddr_un server_addr;
  24.      struct sockaddr_un client_addr;
  25.      int  client_addr_len;
  26.  
  27.      /* set up listening socket sd */
  28.      sd = socket(PF_UNIX, SOCK_STREAM, 0);
  29.  
  30.      /* bind server address to socket sd */
  31.      server_addr.sun_family = PF_UNIX;
  32.      strcpy(server_addr.sun_path, serversockname);
  33.      bind(sd, (struct sockaddr *)&server_addr,sizeof(server_addr));
  34.  
  35.      /* set socket sd to a listening socket */
  36.      listen(sd, 1);
  37.  
  38.      /* accept connection request */
  39.      client_addr_len = sizeof(client_addr);
  40.      nsd = accept(sd, (struct sockaddr *)&client_addr, (socklen_t *)&client_addr_len);
  41.  
  42.      /* data transfer on connected socket ns */
  43.      n = read(nsd, buf, sizeof(buf));
  44.      write(nsd, buf, n);
  45.  
  46.      exit(0);
  47. }
  48.  
  49.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement