
Linux
linux编程
王摆摆摆
土豆土豆,我是地瓜。
展开
-
Linux 下有名(命名)管道文件读写操作
Linux 下有名(命名)管道文件读写操作操作平台:Ubuntu 12.04 有名管道1、查看命令:man 3 mkfifo2、头文件:#include <sys/types.h>#include <sys/stat.h>3、函数原型:int mkfifo(const char *pathname, mode_t mode);a、*pathname:有名管道的名字 例如:/home/whb/projectsb、 mode:八进制的权限, 例如:07774、返回值:成原创 2020-09-23 14:12:33 · 2010 阅读 · 2 评论 -
Linux系统编程—消息队列
Linux系统编程—消息队列1、消息队列相关函数// 创建和获取 ipc 内核对象int msgget(key_t key, int flags);// 将消息发送到消息队列int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);// 从消息队列获取消息ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg);// 查看、原创 2020-09-28 11:01:17 · 200 阅读 · 0 评论 -
linux 系统调用实现文件拷贝
linux 系统调用实现文件拷贝copyfile程序如下:#include<iostream>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <string.h>#include <sys/types.h>#include <dirent.h>#include <unistd.h>#include&l原创 2020-09-14 10:35:28 · 1236 阅读 · 0 评论 -
Linux系统编程—共享内存
Linux系统编程——共享内存前言: 共享内存允许两个不相关的进程去访问同一部分逻辑内存。如果需要在两个运行中的进程之间传输数据,共享内存将是一种效率极高的解决方案。1、共享内存概述:共享内存是由IPC为一个进程创建的一个特殊的地址范围,它将出现在进程的地址空间中。其他进程可以把同一段共享内存段“连接到”它们自己的地址空间里去。所有进程都可以访问共享内存地址,就好像它们是有malloc分配的一样。如果一个进程向这段共享内存写了数据,所做的改动会立刻被有权访问同一段共享内存的其他进程看到。原创 2020-09-28 14:16:53 · 173 阅读 · 0 评论 -
线程中的几个常用函数参数说明
线程中的几个常用函数参数说明线程的基本概念:在一个程序里的多个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”;一个进程至少都有一个执行线程;进程是资源分配的基本单位,线程是调度的基本单位 ;线程中用到的几个重要的函数:pthread_create(); //作用:创建一个新的线程int pthread_create(pthread_t *thread,pthread_attr_t *attr,void*(*start_routine)(void*),原创 2020-10-20 19:57:26 · 989 阅读 · 1 评论 -
Linux网络编程之五种IO模型小结
Linux网络编程之五种IO模型小结 一、五个I/O模型阻塞I/O非阻塞I/OI/O复用(select、poll、epoll)信号驱动I/O异步I/O1.1 阻塞I/O模型最流行的I/O模型是阻塞I/O模型,缺省时,所有的套接口都是阻塞的。1.2非阻塞I/O模型我们把一个套接口设置为非阻塞方式时,即通知内核:当请求的I/O操作非得让进程睡眠不能完成时,不要让进程睡眠,而应返回一个错误应用程序连续不断地查询内核原创 2020-10-30 10:02:27 · 210 阅读 · 0 评论 -
socket编程 -- epoll模型服务端/客户端通信的实现
多路I/O复用之epoll1、epoll简介 epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。2、epoll 常用函数 epoll使用过程中,经常使用以下3个函数:in.原创 2020-10-30 10:56:13 · 610 阅读 · 0 评论 -
Linux网络通信—Socket(TCP实现)
Linux网络通信—Socket(TCP实现)一、socket概述为了简化开发通信程序的工作,由Berkely学校开发了一套网络通信程序的API函数标准。二、SOCKET分类流式套接字(SOCK_STREAM)流式的套接字可以提供可靠的、面向连接的通讯流。它使用了TCP协议。TCP 保证了数据传输的正确性和顺序性。数据报套接字(SOCK_DGRAM)数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证可靠,无差错。使用数据报协议UDP协议。原始套接字原原创 2020-10-02 16:33:04 · 639 阅读 · 0 评论 -
使用线程实现QQ聊天
使用多线程实现QQ聊天#include#include<unistd.h>#include<stdio.h>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include<string.h>#include<arpa/inet.h>#include <pthread.h>#include#define SERVE原创 2020-10-20 23:23:08 · 258 阅读 · 0 评论 -
socket编程 -- epoll模型服务端/客户端通信实例案例2
socket编程 – epoll模型服务端/客户端通信实例案例2实现如下功能: 支持多客户端与一个服务端进行通信,客户端给服务端发送字符串数据,服务端将字符串中小写转为大写后发送回客户端,客户端打印输出经转换后的字符串。例如:发送asdf,打印输出ASDF服务器端代码:/*server.c*/#include <stdio.h>#include <stdlib.h>#in.转载 2020-10-30 16:37:23 · 299 阅读 · 0 评论 -
Linux 下匿名管道的文件读写
Linux 下匿名管道的文件读写操作平台:Ubuntu 12.04 匿名管道用在父子进程之间,父进程向管道中写数据,子进程从管道中读出数据代码如下:#include<iostream>#include<stdio.h>#include<string.h>#include <unistd.h>using namespace std;int main(){ int pipefd[2];//匿名管道描述符 pipefd[0] 读 pip原创 2020-09-23 14:54:57 · 352 阅读 · 0 评论