当前位置:首页>java>Linux网络编程之域通信,看完助力学习Linux网络编程!

Linux网络编程之域通信,看完助力学习Linux网络编程!

  • 2026-10-21 13:27:26
Linux网络编程之域通信,看完助力学习Linux网络编程!
今天主要学习的就是域通信
什么是域通信呢?
域通信通常指的是在同一主机上进程间的通信,最常见的实现方式是Unix域套接字。
前面学习了跨越主机的通信,今天为什么要学习域通信呢?
主要是因为域通信无需依赖网络,也不会占用网络资源,用来测试代码嘎嘎好。
域通信的核心:s套接字
域通信也分为TCP和UDP通信
通过Linux系统的s套接字进行数据进程间通信。
函数原型如下
参数:AF_UNIXs套接字文件创建套接字#includestruct sockaddr_un;struct sockaddr_un{sa_family_t sun_family; //地址族char sun_path [UNIX_PATH_MAX] / /带路径的名称}
这里需要注意,结构体的第二个参数是一个数组,所以需要采用strcmp进行赋值。该函数会创建一个s套接字,所以在第二次允许的时候会报错,所以需要对其进行一些操作。
可以使用之前学习的access函数
函数原型如下
intaccess (constchar *pathname,int mode)参数;第一个参数为需要判断的文件第二个参数是模式 有以下几种可选返回:成功返回0 失败返回 -1
F_OK 文件存在
说明:文件存在,即用来判断文件是否存在
W_OK 文件可写
说明:设置文件权限,将文件权限设置为可写
R_OK 文件可读
说明:设置文件权限,将文件权限设置为可读
X_OK 文件可操作
说明:设置文件权限,将文件权限设置为可操作
这里采用新的知识
采用remove函数,函数原型如下
#includeintremove(constchar *pathname);功能:删除文件参数:文件名返回值:成功返回 0 失败返回-1

2>广播和组播

广播:是指封包在计算机网络中传输时,目的地址为网络中所有设备的一种传输方式。 采用UDP的方式,一个发送端,多个接收端。
特殊函数:设置套接字支持的功能
函数原型
intgetsock()功能:获得sockfd的属性
函数原型
int setsock功能:设置sockfd的属性(针对服务器和用户绑定IP)参数:sockfdlev:等级optname:选项optval:选项取值。允许发送广播

3>组播

组播:指把信息同时传递给一组目的地址。

最新文章

随机文章