filesrv.c.texi

来自「一个C源代码分析器」· TEXI 代码 · 共 47 行

TEXI
47
字号
#include <stdio.h>#include <errno.h>#include <stdlib.h>#include <sys/socket.h>#include <sys/un.h>#define SERVER  "/tmp/serversocket"#define MAXMSG  512intmain (void)@{  int sock;  char message[MAXMSG];  struct sockaddr_un name;  size_t size;  int nbytes;  /* @r{Make the socket, then loop endlessly.} */  sock = make_named_socket (SERVER);  while (1)    @{      /* @r{Wait for a datagram.} */      size = sizeof (name);      nbytes = recvfrom (sock, message, MAXMSG, 0,                         (struct sockaddr *) & name, &size);      if (nbytes < 0)        @{          perror ("recfrom (server)");          exit (EXIT_FAILURE);        @}      /* @r{Give a diagnostic message.} */      fprintf (stderr, "Server: got message: %s\n", message);      /* @r{Bounce the message back to the sender.} */      nbytes = sendto (sock, message, nbytes, 0,                       (struct sockaddr *) & name, size);      if (nbytes < 0)        @{          perror ("sendto (server)");          exit (EXIT_FAILURE);        @}    @}@}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?