请写一下uds服务的代码
时间: 2023-03-15 18:38:44 浏览: 204
topshelp创建服务代码
我可以为您提供以下UDS服务的代码示例:// UDS服务端代码int main(int argc, char **argv)
{
int sockfd;
struct sockaddr_un addr;
char buf[MAX_BUF_SIZE]; // 创建socket
if ((sockfd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
perror("socket");
exit(EXIT_FAILURE);
} // 填充sockaddr_un结构
memset(&addr, 0, sizeof(addr));
addr.sun_family = AF_UNIX;
strncpy(addr.sun_path, SOCK_PATH, sizeof(addr.sun_path) - 1); // 绑定socket
if (bind(sockfd, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
perror("bind");
exit(EXIT_FAILURE);
} // 监听
if (listen(sockfd, 5) < 0) {
perror("listen");
exit(EXIT_FAILURE);
} // 接受连接
int client_fd;
while (1) {
client_fd = accept(sockfd, NULL, NULL); // 读取客户端发送的消息
memset(buf, 0, MAX_BUF_SIZE);
recv(client_fd, buf, MAX_BUF_SIZE, 0);
printf("Received: %s\n", buf); // 向客户端发送消息
strcpy(buf, "Hello, Client!");
send(client_fd, buf, MAX_BUF_SIZE, 0); // 关闭连接
close(client_fd);
} return 0;
}
阅读全文