12/03/06 14:29
pierotofy
Se puoi fare delle domande un po' pi? tecniche e meno generiche certamente, ma sicuramente nessuno qui ti scriver? l'intera applicazione
Il mio blog: piero.dev
13/03/06 14:48
Ucciditore
#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/msg.h>
struct{
long numero;
char messaggio[100];
char presente;
int who;
}mess;
key_t msgkey;
int msgid;
int k;
char menu;
int main(narg,argv,argc)
int narg;
char *argv[];
char *argc[];
{
msgkey=ftok("miofile.txt",'b');
msgid=msgget(msgkey,IPC_CREAT);
mess.presente=1;
if(msgid>=0){
do{
printf("----------------------CHAT--------------------\n"
printf("<m = Manda Messaggio>\n"
printf("<a = Aggiorna>\n"
printf("<e = Esci>\n"
printf("Scelta= "
menu=getchar();
switch(menu){
case 'm':
printf("A chi vuoi mandare il messaggio? "
scanf("%ld",&mess.numero);
printf("Scrivi il messaggio: "
scanf("%s",&mess.messaggio[0]);
printf("Chi sei: "
scanf("%d",&mess.who);
k=msgsnd(msgid,&mess,strlen(mess.messaggio),IPC_NOWAIT);
break;
case 'a':
printf("Utenti Connessi: "
if(mess.presente==1) printf("%c",mess.presente);
k=msgrcv(msgid,&mess,strlen(mess.messaggio),mess.numero,IPC_NOWAIT);
printf("%d",mess.who);
printf(": "
printf("%s\n",mess.messaggio);
break;
case 'e':
break;
}
}while(menu!='e');
mess.presente=0;
msgctl(msgid,IPC_RMID,0);
}
return 0;
}
#include<string.h>
#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/msg.h>
struct{
long numero;
char messaggio[100];
char presente;
int who;
}mess;
key_t msgkey;
int msgid;
int k;
char menu;
int main(narg,argv,argc)
int narg;
char *argv[];
char *argc[];
{
msgkey=ftok("miofile.txt",'b');
msgid=msgget(msgkey,IPC_CREAT);
mess.presente=1;
if(msgid>=0){
do{
printf("----------------------CHAT--------------------\n"
printf("<m = Manda Messaggio>\n"
printf("<a = Aggiorna>\n"
printf("<e = Esci>\n"
printf("Scelta= "
menu=getchar();
switch(menu){
case 'm':
printf("A chi vuoi mandare il messaggio? "
scanf("%ld",&mess.numero);
printf("Scrivi il messaggio: "
scanf("%s",&mess.messaggio[0]);
printf("Chi sei: "
scanf("%d",&mess.who);
k=msgsnd(msgid,&mess,strlen(mess.messaggio),IPC_NOWAIT);
break;
case 'a':
printf("Utenti Connessi: "
if(mess.presente==1) printf("%c",mess.presente);
k=msgrcv(msgid,&mess,strlen(mess.messaggio),mess.numero,IPC_NOWAIT);
printf("%d",mess.who);
printf(": "
printf("%s\n",mess.messaggio);
break;
case 'e':
break;
}
}while(menu!='e');
mess.presente=0;
msgctl(msgid,IPC_RMID,0);
}
return 0;
}
aaa
13/03/06 14:50
Ucciditore
Sapete dirmi che c'? di sbagliato io apro un processo e lui scrive e legge nella coda di messaggi ma un altro processo non ci legge da quella coda
#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/msg.h>
struct{
long numero;
char messaggio[100];
char presente;
int who;
}mess;
key_t msgkey;
int msgid;
int k;
char menu;
int main(narg,argv,argc)
int narg;
char *argv[];
char *argc[];
{
msgkey=ftok("miofile.txt",'b');
msgid=msgget(msgkey,IPC_CREAT);
mess.presente=1;
if(msgid>=0){
do{
printf("----------------------CHAT--------------------\n"
printf("<m = Manda Messaggio>\n"
printf("<a = Aggiorna>\n"
printf("<e = Esci>\n"
printf("Scelta= "
menu=getchar();
switch(menu){
case 'm':
printf("A chi vuoi mandare il messaggio? "
scanf("%ld",&mess.numero);
printf("Scrivi il messaggio: "
scanf("%s",&mess.messaggio[0]);
printf("Chi sei: "
scanf("%d",&mess.who);
k=msgsnd(msgid,&mess,strlen(mess.messaggio),IPC_NOWAIT);
break;
case 'a':
printf("Utenti Connessi: "
if(mess.presente==1) printf("%c",mess.presente);
k=msgrcv(msgid,&mess,strlen(mess.messaggio),mess.numero,IPC_NOWAIT);
printf("%d",mess.who);
printf(": "
printf("%s\n",mess.messaggio);
break;
case 'e':
break;
}
}while(menu!='e');
mess.presente=0;
msgctl(msgid,IPC_RMID,0);
}
return 0;
}
#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/msg.h>
struct{
long numero;
char messaggio[100];
char presente;
int who;
}mess;
key_t msgkey;
int msgid;
int k;
char menu;
int main(narg,argv,argc)
int narg;
char *argv[];
char *argc[];
{
msgkey=ftok("miofile.txt",'b');
msgid=msgget(msgkey,IPC_CREAT);
mess.presente=1;
if(msgid>=0){
do{
printf("----------------------CHAT--------------------\n"
printf("<m = Manda Messaggio>\n"
printf("<a = Aggiorna>\n"
printf("<e = Esci>\n"
printf("Scelta= "
menu=getchar();
switch(menu){
case 'm':
printf("A chi vuoi mandare il messaggio? "
scanf("%ld",&mess.numero);
printf("Scrivi il messaggio: "
scanf("%s",&mess.messaggio[0]);
printf("Chi sei: "
scanf("%d",&mess.who);
k=msgsnd(msgid,&mess,strlen(mess.messaggio),IPC_NOWAIT);
break;
case 'a':
printf("Utenti Connessi: "
if(mess.presente==1) printf("%c",mess.presente);
k=msgrcv(msgid,&mess,strlen(mess.messaggio),mess.numero,IPC_NOWAIT);
printf("%d",mess.who);
printf(": "
printf("%s\n",mess.messaggio);
break;
case 'e':
break;
}
}while(menu!='e');
mess.presente=0;
msgctl(msgid,IPC_RMID,0);
}
return 0;
}
aaa