资源简介
实验目的:了解和熟悉linux支持的消息通信机制。
任务:使用linux系统提供的系统调用msgget(),msgrev(),msgctl()编制一个长度为1K的消息发送和接受的程序。
实验要求:
(1)用一个程序作为“引子”,先后fork()两个进程,SERVER和CLIENT,进行通信。
(2)SERVER端建立一个Key为75的消息队列,等待其他进程发来的消息。当遇到类型为1的消息,则作为结束信号,取消该队列,并退出SERVER。SERVER每接受到一个消息后显示一句“(Server)received”。
(3)CLIENT端使用key为75的消息队列,先后发送类型从10到1的消息,然后退出。最后一个消息,即是SERVER端需要的结束信号。CLIENT每发送一条消息后显示一句“(Client)sent”。
(4)父进程在SERVER和CLIENT都退出后结束。
代码片段和文件信息
#include
#include
#include
#include
#include
#define SHMKEY 75 /*定义共享区关键词*/
int msgidp1p2;
struct msgform
{
long mtype;
char mtext[1030];
}msgp;
r: stray ‘\357’ in program
void CLIENT()
{
int i;
msgid=msgget(SHMKEY0777);//创建消息队列
for(i=10;i>=1;i--)
{
msgp.mtype=i;
printf(“(client)sent\n“);
/*打印(client)sent*/
msgsnd(msgid &msgp 10240);
//发送消息
}
exit(0);
}
void SERVER()
{
msgid=msgget(SHMKEY077
- 上一篇:net并发数据结构读写锁
- 下一篇:超市商品信息管理系统
相关资源
- Linux下的bc计算器移植到windows下
- 东北大学 linux 实验报告
- slickedit pro 2017 (v22) 全功能完整版本
- CentOS7.5CentOS-7-x86_64-Minimal-1804
- Linux实验8
- linux文件传输项目源码
- 利用PWM定时器实现蜂鸣器控制
- linux下的简单文件服务器和客户端程序
- RTL8111/8168B linux网卡驱动
- 东北大学Linux操作系统大实验
- The AWK Programming Language 中文版
- 在linux中使用tcp实现一个简单文件服务
- linux 运维自动监测脚本CPU,内存,磁
- linuxRTP打包发送
- 操作系统实验 华工 Linux
- AODV源代码265362
- 福建农林大学计科linux复习
- cuda_8.0.61_375.26_linux.run
- 基于linux系统的ftp服务器
- cadence安装方法 linux
- Linux下安装Intel无线网卡
- openssh-8.2.tar.gz
- Linux常用命令全集260354
- smartctl源码
- Linux命令大全完整版.pdf
- Linux ATM取款机简单实现附详细说明-
- 2018年最新全套linux视频教程源码笔记
- 华中科技大学计算机学院操作系统一
- linux使用规范
- libsigar-amd64-linux.so以及libsigar-x86-linu
评论
共有 条评论