相关疑难解决方法(0)

绑定()unix域套接字客户端进程有什么用?

使用AF_UNIX(unix域套接字)时,是否有任何应用程序可以bind()在永不调用的进程中进行调用listen()

在我的系统编程课程和实验中,我们被要求调用bind()Unix域套接字客户端进程。是否有任何已记录,未记录或实际的应用程序可以在仅客户端的 UNIX域套接字 进程上调用bind ?据我了解,bind()创建了一个特殊的套接字文件,这是服务器进程要承担的责任。它是否正确?

这是一个基于类讨论的概念的示例代码:

服务器

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>

int main() {
    int s0, s1;
    struct sockaddr sa0 = {AF_UNIX, "a"};

    s0 = socket(AF_UNIX, SOCK_STREAM, 0);

    bind(s0, &sa0, sizeof(sa0) + sizeof("a"));
    listen(s0, 1);
    for (;;) {
        s1 = accept(s0, NULL, NULL);
        puts("connected!");
        for (;;) {
            char text[1];
            ssize_t n = read(s1, &text, sizeof(text));
            if (n < 1) {
                break;
            }
            putchar(text[0]); …
Run Code Online (Sandbox Code Playgroud)

c unix sockets system

6
推荐指数
1
解决办法
2077
查看次数

在Linux上防止多个流程实例

Linux平台上用于检查其实例的进程(C++应用程序)尚未运行的最佳方法是什么?

c++ linux process

5
推荐指数
2
解决办法
5688
查看次数

标签 统计

c ×1

c++ ×1

linux ×1

process ×1

sockets ×1

system ×1

unix ×1