//server.cpp
#include <unistd.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <iostream>
#define PATH "/tmp/unixdomain"
int main(int argc, const char* argv[]) {
struct sockaddr_un addr;
memset(&addr, sizeof(addr), 0);
addr.sun_family = AF_UNIX;
strcpy(addr.sun_path, PATH);
int sockfd = socket(AF_UNIX, SOCK_DGRAM, 0);
if(sockfd < 0) {
std::cout << "create socket error" << std::endl;
exit(-1);
}
std::cout << "create socket success" << std::endl;
int addr_len = strlen(addr.sun_path) + sizeof(addr.sun_family);
if(bind(sockfd, (struct sockaddr*)&addr, addr_len) < 0) {
std::cout << "bind socket error" << std::endl;
close(sockfd);
exit(-1);
}
std::cout << "bind socket success" << std::endl;
close(sockfd);
return 0;
}
UNIX中域套接字的简单实例
最新推荐文章于 2023-06-23 00:01:59 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)