位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 close()函数和shutdown()函数

提问人:刘团圆发布时间:2020-12-03

在完成通信后,可以使用close()函数或shutdownO函数来关闭套接字。close()函数的调用形式为:

    close(sockfd);

使用套接字除了可以实现网络中不同主机间的通信外,还可以实现同一主机不同进程间的通信,且建立的通信是双向的通信。这里所指的使用套接字实现进程间通信,是由将通信域指定为PF_UNIX来实现的。该函数的形式如下:

    int socket(int domain, int type, int protocol);

socket()函数中的domain参数用于指定通信域,表16-2为domain支持的通信域的参数。domain参数取PFJJNIX时,表示创建UNIX域的套接字。使用PF_UNIX域的套接字可以实现同一机器上不同进程间的通信。


调用bind()函数实现了套接字与地址(这里是文件名)的绑定。bind()函数的具体信息如下:

    int bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen);

其参数my_addr为指向结构体sockaddr_un的指针,该结构体的定义如下:

    #eflne UNIX_PATH_MAX 108

    struct sockaddr_un {

    sa_family_t sun_family;           /* PF_UNIX或AF_UNIX */

    char sun_path[UNIX_PATH_MAX];     /* 路径名 */

    };

在该结构体中,sun_family为AF_UNIX; sun_path是套接字在文件系统中的路径名。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部