当前位置: 首页 > wzjs >正文

南京外贸网站建设系统新闻株洲最新

南京外贸网站建设系统,新闻株洲最新,南丰网站建设,网站权重值在较长时间内是一定的页面优化1.4共享队列 1.4.1共享内存 内存映射:避免数据的反复读写拷贝,提高了效率。 内存管理单元MMU:将物理内存与虚拟内存之间架起映射关系 1.创建共享内存 int shmget(key_t key,size_t size,int shmflg); 2.建立共享内存…

1.4共享队列

1.4.1共享内存

        内存映射:避免数据的反复读写拷贝,提高了效率。

        内存管理单元MMU:将物理内存与虚拟内存之间架起映射关系


1.创建共享内存                       

int shmget(key_t key,size_t size,int shmflg);

2.建立共享内存和用户空间的映射关系void *shmat(int shmid,const void *shmaddr,int shmflg);

3.写数据

4.读数据
5.解除映射关系int shmdt(const void *shmaddr)
6.删除共享内存int shmctl(int shmid,int cmd,struct shmid_ds *buf)

int shmget(key_t key,size_t size,int shmflg);

功能:根据key值创建共享内存

参数:

        key:IPC的key值

key_t ftok(const char *pathname,int proj_id);

功能:获取一个IPC的key值

参数:

        pathname:路径

        proj_id:项目ID

返回值:

成功:key

失败:-1

        size:共享内存大小(向上取整到页大小的整数倍)4096 PAGE_SIZE

        shmflg:对对象内存的操作  IPC_CREAT | 0664

返回值:

        成功:返回共享内存的ID

        失败:-1

void *shmat(int shmid,const void *shmaddr,int shmflg);
功能:建立内存映射

参数:

        shmid:共享内存的ID

        shmaddr:映射的用户首地址(NULL让操作系统自己去找,返回空间首地址)

        shmflg:!SHM_RDONLY(可读可写)

返回值:

        成功:映射的用户空间首地址

        失败:NULL

int shmdt(const void *shmaddr)
功能:解除用户映射关系,释放用户空间

参数:

        shmaddr:映射的用户首地址(NULL让操作系统自己去找,返回空间首地址)

返回值:

        成功:0

        失败:-1

int shmctl(int shmid,int cmd,struct shmid_ds *buf)
功能:控制共享内存

参数:

        shmid:共享内存的ID

       cmd:IPC_RMID:删除

        buf:NULL不需要使用

返回值:

        成功:0

        失败:-1

指令:ipcs -a查看共享内存 的信息

           ipcrm -s 删除信号量集

           ipcrm -m 删除共享内存

1.5消息队列

获取一个IPC通信的key值key_t ftok(const char *pathname,int proj_id);
创建消息队列int msgget(key_t key,int msgflg);
发送消息int msgsnd(int msqid,void  *msgp,size_t msgsz,int msgflg);  
接受消息ssize_t msgrcv(int msqid,void *msgp,size_t msgsz,long msgtyp,int msgflg);
删除消息队列int msgctl(int msqid,int cmd,struct msqid_ds *buf);
key_t ftok(const char *pathname,int proj_id);
功能:获取ipc的key值

参数:

       pathname:路径

       proj_id:项目ID

返回值:

        成功:key

        失败:-1

int msgget(key_t key,int msgflg);
功能:根据key值创建一个消息队列

参数:

       key:ipc的key值

      msgflg:标志位   IPC_CREAT |0664

返回值:

        成功:消息队列的id号

        失败:-1

int msgsnd(int msqid,void  *msgp,size_t msgsz,int msgflg);  
功能:向消息队列中发送消息

参数:

       msqid:消息队列的ID

        msgp:要发送的消息的结构体首地址

                struct msgbu{

                        long mtype;

                        char mtext[msgsz];

                };

        msgsz:消息体中正文内容大小

        msgflg:标志位:默认0

struct msgbuf msg;

msg.mtype =(大于0的值);

fgets(msg.mtext,sizeof(msg.mtext),stdin);

msgsnd(msgid,&msg,sizeof(msg.mtext),0);

返回值:

        成功:0

        失败:-1

ssize_t msgrcv(int msqid,void *msgp,size_t msgsz,long msgtyp,int msgflg);
功能:从消息队列接受消息

参数:

        msqid:消息队列的ID

        msgp:要存放接收的消息的结构体首地址

                struct msgbu{

                        long mtype;

                        char mtext[msgsz];

                };

        msgsz:接受消息体中正文内容大小

        msgtyp:消息的类型

        msgflg:标志位:默认0

返回值:

        成功:消息队列的id号

        失败:-1

1.6信号灯

不同主机进程间通信:

1.7网络套接字

文件描述符

客户端:

        socket():创建网络套接字

        sendto():发送数据包

        recvfrom():接受数据包

        close():关闭套接字

int socket(int domain,int type,int protocol)
功能:创建一个通信套接字

参数:

domain:ip层协议族

        AF_INET  IP4

        AF_INET6  IP6

type:传输层使用的协议类型

        SOCK_DGRAM UDP

        SOCK_STREAM TCP

protocol:

        0按照默认协议返回值

返回值:

成功:返回套接字

失败:-1

size_t  sendto(int sockfd,const void *buf,sizeof_t len,int flags,const struct sockaddr *dest_addr,socklen_t addrlen);
功能:向通信套接字发送数据

参数:

sockfd:套接字

buf:要发送的数据的首地址

len:发送的数据的大小

flags:默认方式 0

dest_addr:保存接受方地址信息的指针

.sin_port = htons(50000)//

.sin_addr.s_adde =inet_addr("ip地址")//将地址转为un int  inet_ntoa(int 转char)

addrlen:接收方地址变量的大小

返回值:

成功:实际发送的字节数

失败:-1

服务端:

        socket()

        bind():绑定服务器当前主机的身份(IP+PORT)

        recvfrom():接收

        sendto():发送

        close():关闭

bind(int sockfd,const struct sockaddr *addr,socklen_t addrlen)
功能:绑定当前主机的ip和进程的端口

参数:

 sockfd:套接字

addr:自己信息的地址

addrlen:地址信息的大小

返回值:

成功:0

失败:-1

 ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,
                        struct sockaddr *src_addr, socklen_t *addrlen);
功能:从套接字接受数据

参数:

sockfd:套接字

buf:存储接收到的数据的位置的首地址

len:期待接收到的字节数

flags::默认方式:0
src_addr:送发地址信息的首地址

addrlen:送发方地址变量的大小

返回值:

成功:返回接收到的字节数

失败:-1

http://www.dtcms.com/wzjs/239826.html

相关文章:

  • 招聘网站开发图片优化是什么意思
  • 南通市网站建设我的完成年s8视频加密线路
  • it在线学习网站开发可以建网站的网络公司有哪些
  • 太原在线网站建设微信小程序开发文档
  • 可以免费做网站如何开通自己的网站
  • 做哪类视频网站需要视频证书热门seo推广排名稳定
  • 做网站公司广州网址外链平台
  • 做美团一样的网站需要多少钱网址检测
  • 个人建什么网站比较好网络营销推广方案模板
  • 外贸网站推广哪家好陕西网站seo
  • 广州网站建设培训班东莞关键词优化推广
  • 网站下载app免费西安seo学院
  • 昆仑万维做网站千锋教育学费一览表
  • wordpress 4.9.1 主题河南seo技术教程
  • 做地方门户网站如何做企业微信会话内容存档
  • 网站加qq客服seo诊断分析工具
  • 柳州网站建设多少钱宣传产品的方式
  • 网站建设价格槽闸阀竞价托管哪家效果好
  • 10个国内建筑网站营销百度app下载手机版
  • 怎么介绍自己做的企业网站页面加盟网络营销推广公司
  • 哪些网站可以做微课seo广告投放
  • 做网站还是app宁波seo营销
  • 网站内容图片怎么做的sem是什么意思啊
  • 设计网站 杭州营销比较成功的品牌
  • 微商营销神器优化大师的功能有哪些
  • 网站服务器权限app拉新平台哪个好佣金高
  • 免费建设网站设计页面最新国际新闻事件
  • 东莞品牌网站建设多少钱排名sem优化软件
  • php 用什么做网站服务器吗杭州优化公司在线留言
  • 如何把网站做的和别人一样吗百度网址导航主页