SK/processes/c2-csock.c

40 lines
933 B
C
Raw Normal View History

2023-02-10 17:00:31 +01:00
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <unistd.h>
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;
}