main.c

来自「一个很好的例子-基于Linux的消息传输系统」· C语言 代码 · 共 69 行

C
69
字号
#include "moi.h"
extern MOI *moi;
int main()
{
	int i,SendOption=128,action=0;
	app_name_id_t app_name_id;
	app_info_t dest_app;
	msg_t msg;
	app_info_t src_app;
        char group[32],command[32];
	int time=0,flag=0;
        while(1)
       {
        printf("please input command : register|send|receive ");
        scanf("%s",command);
        action=0;
        if(strcmp(command,"register")==0)   action=1;
        if(strcmp(command,"send")==0)  action=2;
        if(strcmp(command,"receive")==0)  action=3;
        switch (action)
        { 
        case 1 :    
        if(flag==0)
        {
        	app_name_id.app_ID=2;
        	strcpy(app_name_id.app_Name,"appname2");
        	strcpy(group,"second");
        	i=app_register(app_name_id,group);
        	printf("\n::%d::\n",i);
        	flag=1;
        } 
        else 
        {
        	printf("registerd already!\n");
        }
        break;
        case 2 :   
	dest_app.dest_app_id=2;
	strcpy(dest_app.dest_dmt_name,"dmt_2");
	msg.message=(char *)malloc(sizeof(char)*100);
	strcpy(msg.message,"hello! I'm dahong!:)(appname2)\n");
	msg.length=strlen(msg.message);
       // SendOption=128;
	i=app_send(dest_app,SendOption,msg);
	printf("::%d::\n",i);
        break;

        case 3 :
        src_app.dest_app_id=2;
	strcpy(src_app.dest_dmt_name,"dmt_1");
	i=receive(&src_app, time,&msg);
	if(i==0) 
	{
	printf("msg->data : %s\n",msg.message);
	printf("src_app->dest_dmt_name : %s\n",src_app.dest_dmt_name);
	printf("src_app->dest_app_id : %d\n",src_app.dest_app_id);
	} 
	printf("::%d::\n",i);
        break;
        case 0 :
        printf("input error!\n");
        break;
     }
  } 
        pthread_join(td2,NULL);
        pthread_join(td1,NULL);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?