/***************************************************
* Creat : 2001. 02. 10 (programed by Cori-Young)
* Site: http://www.byoneself.co.kr
* Update :
***************************************************/
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <stdio.h>
#include <string.h>
#define MSGSZ 128
/** Declare the message structure. */
typedef struct{
long mtype;
char mtext[MSGSZ];
} message_buf;
main()
{
int msqid;
int msgflg = IPC_CREAT | 0666;
key_t key;
message_buf sbuf;
size_t buf_length;
/** Get the message queue id for the "name" 1234, which was created by the server. */
key = 1234;
(void) fprintf(stderr, "nmsgget: Calling msgget(%#lx,%#o)n",key, msgflg);
if ((msqid = msgget(key, msgflg )) < 0)
{
perror("msgget");
exit(1);
}
else
(void) fprintf(stderr,"msgget: msgget succeeded: msqid = %dn", msqid);
/** We'll send message type 1 */
sbuf.mtype = 1;
(void) fprintf(stderr,"msgget: msgget succeeded: msqid = %dn", msqid);
(void) strcpy(sbuf.mtext, "In Message");
(void) fprintf(stderr,"msgget: msgget succeeded: msqid = %dn", msqid);
buf_length = strlen(sbuf.mtext) ;
/** Send a message. */
if (msgsnd(msqid, &sbuf, buf_length, IPC_NOWAIT) < 0) {
printf ("%d, %d, %s, %dn", msqid, sbuf.mtype, sbuf.mtext, buf_length);
perror("msgsnd");
exit(1);
}
else
printf("Message: "%s" Sentn", sbuf.mtext);
exit(0);
} |
|