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

#define	SERVER	"sock_s"

int main()
{
  int	fd, rc, len;
  struct sockaddr_un	unix_addr;
  char	buf[256];

  /* ソケットを作る	*/
  fd = socket(AF_UNIX, SOCK_STREAM, 0);
  if(fd < 0){
    printf("client:socket error.\n");
    exit(rc);
  }
  printf("client:socket.\n");

  /* SERVERにconnect	*/
  unix_addr.sun_family = AF_UNIX;
  strcpy(unix_addr.sun_path, SERVER);
  len = sizeof(unix_addr.sun_family)+strlen(unix_addr.sun_path);
  rc = connect(fd, (struct sockaddr*)&unix_addr, len);
  if(rc < 0){
    printf("client:connect error.\n");
    exit(rc);
  }
  printf("client:connect.\n");

  /* connectしたソケットに送信	*/
  strcpy(buf, "from client");
  rc = send(fd, buf, strlen(buf)+1, 0);
  if(rc < 0){
    printf("client:send error.\n");
    exit(rc);
  }
  printf("client:send.\n");

  /* 後始末	*/
  shutdown(fd, 2);
  close(fd);

  return 0;
}
