gpt4 book ai didi

linux - 有什么方法可以将 unix 套接字上的 open() 调用映射到 socket() 和 connect() 调用?

转载 作者:太空宇宙 更新时间:2023-11-04 12:51:45 27 4
gpt4 key购买 nike

我想知道是否有一种方法可以让某人通过简单地在文件上调用 open() 并写入它来写入我的 UNIX 套接字?就目前而言,他们必须执行以下操作:

// Create socket.

fd = socket(AF_UNIX, SOCK_STREAM, 0);
if (fd == -1)
{
result = -1;
goto done;
}

// Set socket name.

memset(&addr, 0, sizeof(addr));
addr.sun_family = AF_UNIX;
strncpy(addr.sun_path, socket_name, sizeof(addr.sun_path) - 1);

// Connect.

result = connect(fd, (struct sockaddr*) &addr, sizeof(addr));
if (result == -1)
{

// If some error then we're done.
}

// Write buffer.

result = write(fd, buffer, length);
if (result == -1)
goto done;

close(fd);

我希望有某种机制可以像对待普通文件一样对待套接字文件,让用户只需调用 open()、write() 和 close()。是否存在这样的机制?

谢谢,尼克

最佳答案

从技术上讲,使用 FUSE 是可行的,但您最好使用 socat 或更具体的解决方案。

关于linux - 有什么方法可以将 unix 套接字上的 open() 调用映射到 socket() 和 connect() 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36974814/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com