#include #include #include #include #include #include const char *path = "/tmp/socket_test"; void handle_error(char *txt) { perror(txt); exit(1); } int main() { int fd; struct sockaddr_un my_addr, serv_addr; memset(&my_addr, 0, sizeof(struct sockaddr_un)); my_addr.sun_family = AF_UNIX; strncpy(my_addr.sun_path, path, sizeof(my_addr.sun_path) - 1); memset(&serv_addr, 0, sizeof(struct sockaddr_un)); serv_addr.sun_family = AF_UNIX; strncpy(serv_addr.sun_path, path, sizeof(serv_addr.sun_path) - 1); if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) handle_error("socket"); if (connect(fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) == -1) handle_error("connect"); double d1 = 21.1; write(fd, (void *)&d1, sizeof(double)); printf("%f\n", d1); close(fd); return 0; }