UNIX域套接字(Unix Domain Sockets)是一种在同一台主机上的进程间通信(IPC)机制
SOCK_STREAM
,客户端也应该使用SOCK_STREAM
。struct sockaddr_un addr;
memset(&addr, 0, sizeof(addr));
addr.sun_family = AF_UNIX;
strcpy(addr.sun_path, "/tmp/my_socket");
unlink(addr.sun_path);
bind(sock, (struct sockaddr*)&addr, sizeof(addr));
listen(sock, SOMAXCONN);
struct sockaddr_un addr;
memset(&addr, 0, sizeof(addr));
addr.sun_family = AF_UNIX;
strcpy(addr.sun_path, "/tmp/my_socket");
connect(sock, (struct sockaddr*)&addr, sizeof(addr));
send()
和recv()
函数:// 发送数据
send(sock, "Hello, client!", strlen("Hello, client!"), 0);
// 接收数据
char buffer[1024];
ssize_t recv_len = recv(sock, buffer, sizeof(buffer) - 1, 0);
buffer[recv_len] = '\0';
printf("Received message: %s\n", buffer);
send()
和recv()
函数的返回值,并在发生错误时采取适当的措施。close(sock);
领取专属 10元无门槛券
手把手带您无忧上云