filecli.c.texi

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

TEXI
55
字号
#include <stdio.h>#include <errno.h>#include <unistd.h>#include <stdlib.h>#include <sys/socket.h>#include <sys/un.h>#define SERVER  "/tmp/serversocket"#define CLIENT  "/tmp/mysocket"#define MAXMSG  512#define MESSAGE "Yow!!! Are we having fun yet?!?"intmain (void)@{  extern int make_named_socket (const char *name);  int sock;  char message[MAXMSG];  struct sockaddr_un name;  size_t size;  int nbytes;  /* @r{Make the socket.} */  sock = make_named_socket (CLIENT);  /* @r{Initialize the server socket address.} */  name.sun_family = AF_UNIX;  strcpy (name.sun_path, SERVER);  size = strlen (name.sun_path) + sizeof (name.sun_family);  /* @r{Send the datagram.} */  nbytes = sendto (sock, MESSAGE, strlen (MESSAGE) + 1, 0,                   (struct sockaddr *) & name, size);  if (nbytes < 0)    @{      perror ("sendto (client)");      exit (EXIT_FAILURE);    @}  /* @r{Wait for a reply.} */  nbytes = recvfrom (sock, message, MAXMSG, 0, NULL, 0);  if (nbytes < 0)    @{      perror ("recfrom (client)");      exit (EXIT_FAILURE);    @}  /* @r{Print a diagnostic message.} */  fprintf (stderr, "Client: got message: %s\n", message);  /* @r{Clean up.} */  remove (CLIENT);  close (sock);@}

⌨️ 快捷键说明

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