7-10 UNIXソケットクライアントプログラム


#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/un.h>

int
main()
{
  int sock;
  struct sockaddr_un s_un;
  int n;
  char buf[128];

  sock= socket(AF_UNIX, SOCK_STREAM, 0);
  if (sock < 0) {
    perror("socket");
    return 1;
  }

  s_un.sun_family = AF_UNIX;
  strcpy(s_un.sun_path, "/tmp/afunix_test");

  if (connect(sock, (struct sockaddr *)&s_un, sizeof(s_un)) != 0) {
    perror("connect");
    return 1;
  }

  printf("after connect\n");

  memset(buf, 0, sizeof(buf));
  n = read(sock, buf, sizeof(buf));
  if (n < 0) {
    perror("read");
    return 1;
  }

  printf("%s\n", buf);

  close(sock);

  return 0;
}

拙著「Linuxネットワークプログラミング」の紹介

プロフェッショナルIPv6解説動画シリーズ再生リスト

動画で学ぶ「プロフェッショナルIPv6」を作っています。 もしよろしければご覧ください。お楽しみいただければ幸いです!