Что такое функционирование в «Реальном масштабе времени»


Download 1.86 Mb.
Pdf ko'rish
bet62/72
Sana19.04.2023
Hajmi1.86 Mb.
#1362511
TuriУчебное пособие
1   ...   58   59   60   61   62   63   64   65   ...   72
Bog'liq
Луканов А.С. Системы реального времени 2020

4.2. 
Текст программы 
// server.c 
#include  
#include 
#include  
#include  
#include  
void server(void ) 

int rcvid; //Ykazivaet komy nado otvechat 
int chid; //Identifikator kanala 
char message[512]; // 
printf("Server start working \n"); 
chid=ChannelCreate(0); //Sozdanie Kanala 
printf("Chanel id: %d \n", chid); 
printf("Pid: %d \n", getpid()); 
// vipolniaetsa vechno- dlia servera eto normalno 
while(1) 

// Polychit i vivesti soobshenie 
rcvid=MsgReceive(chid,message,sizeof(message), NULL); 
printf("Polychili soobshenie, rcvid %X \n",rcvid ); 
printf("Soobshenie takoe : \"%s\". \n", message ); 
// Podgotovit otvet 
strcpy(message,"Eto otvet"); 
MsgReply(rcvid, EOK, message, sizeof(message)) ; 


132 
printf("\"%s\". \n", message ); 
}

int main(void) 

printf("Prog server \n"); 
server(); 
sleep(5); 
return(1); 

//client.c 
#include  
#include 
#include  
#include  
#include  
int main(void) 

char smsg[20] ; 
char rmsg[200]; 
int coid; 
long serv_pid; 
printf("Prog client , Vvedite PID servera \n"); 
scanf ("%ld",&serv_pid); 
printf("Vveli %ld \n", serv_pid); 
coid=ConnectAttach(0,serv_pid,1,0,0); 
printf("Connect res %d \n, vvedite soobshenie ", coid); 
scanf("%s",&smsg); 
printf("Vveli %s \n", smsg); 
if(MsgSend(coid,smsg,strlen(smsg)+1,rmsg, sizeof(rmsg))==-1) 
{


133 
printf("Error MsgSend \n"); 

return(1); 


Download 1.86 Mb.

Do'stlaringiz bilan baham:
1   ...   58   59   60   61   62   63   64   65   ...   72




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling