#include #include #include #include #include #include #include #include const int BUFFER_SIZE{1024}; const char MY_SOCKET_PATH[]{"/tmp/socket"}; int main(int argc, char *argv[]) { int sock; int conn; /* struct sockaddr saddr = {AF_UNIX, "/tmp/socket"}; */ struct sockaddr_un saddr; memset(&saddr, 0, sizeof(saddr)); saddr.sun_family = AF_UNIX; strncpy(saddr.sun_path, MY_SOCKET_PATH, sizeof(saddr.sun_path)-1); socklen_t saddrlen = sizeof(struct sockaddr) + 6; sock = socket(AF_UNIX, SOCK_STREAM, 0); if (sock == -1) { perror("Socket"); return 1; } conn = connect(sock, reinterpret_cast (&saddr), saddrlen); if (conn == -1) { perror("connect"); close(sock); return 1; } char buffer[BUFFER_SIZE]; int size = read(sock, buffer, BUFFER_SIZE); if (size > 0) { printf("%s", buffer); } close(sock); return 0; }