
消息通信
平先森
这个作者很懒,什么都没留下…
展开
-
C语言消息队列实现进程间通信的实现方法
消息队列就是由内核负责管理的一个管道,可以按顺序发送消息包(消息类型+消息内容),可以全双工工作,可以不按消息的顺序接收消息。 int msgget(key_t key, int msgflg); 功能:创建/获取消息队列 key:IPC键值,由ftok函数自动生成 msgflg: 0 获取消息队列 IPC_CREAT 创建消息队列 IPC_EXCL 如果存在则创建失败 返回值:消息队列标识 in...原创 2019-08-08 23:22:34 · 3861 阅读 · 0 评论 -
C语言实现TCP网络通信
TCP:传输控制协议,面向连接的服务(打电话),安全、可靠(三次握手、响应+重传、四次挥手)速度相对较慢,一般应用在对安全性性、完整性有严格要求的场景:ftp、SMTP、HTTP 步骤一:套接字 #include <sys/socket.h> int socket(int domain, int type, int protocol); 功能:创建socket描述符,可以把socket...原创 2019-08-10 22:29:54 · 3248 阅读 · 2 评论 -
C语言进程间有名管道和无名管道通信
管道时UNIX系统最古老的进程间通信方式(基本不再使用),历史上的管道通常时半双工(只允许单向数据流动),现在的系统大都可以全双工,数据可以双向流动。 1、有名管道(建立实体文件) 命令:mkfifo 函数:int mkfifo(const char* pathname,mode_t mode); 功能:创建管道文件 Pathname:文件路径 Mode:权限 返回值:文件描述符 返回值:成功返回...原创 2019-08-20 21:06:34 · 1167 阅读 · 0 评论 -
UDP协议网络通信详解
基于UDP协议的C/S模型 ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,const struct sockaddr *dest_addr, socklen_t addrlen); 功能:UDP协议专用的数据发送函数 sockfd:套接字描述符 buf:待发送的缓冲区首地址 len:待发送的数据字节数 flags...原创 2019-08-12 23:10:38 · 852 阅读 · 0 评论