[so] [Tema2 Linux] client

Mirea Bogdan-Stefan b.mirea at yahoo.com
Sat Mar 24 19:47:35 EET 2012


Salut,

Am o problema ciudata la clientul vostru. Pana acum am testat 
functionalitatile cozii de mesaje "gateway" dintre gateway-client cu un client
creeat de mine separat(ca sa nu ma lovesc de probleme cu semafoare si memorie
partajata), totusi, acum am incercat sa rulez clientul de la voi si daca 
deschid intr-un prompt ./gatway sa asculte mesaje si rulez si cleintul de la 
voi "./client ana 20 -1" imi da eroare: "(client.c, 120): mq_send: Message too
long".
Din cate stiu, eroarea asta o da daca clientul si gateway-ul folosesc tipuri 
de mesaje diferite, insa eu pt gateway folosesc mesaje de tip message_t - 
structura de pe site:
 
typedef struct _message_t {
	// Numele memoriei partajate si a semaforului. 
	char name[8];
	//  Dimensiunea memoriei partajate. 
	int dim;
	// Contine ordinea serverelor care vor face decriptarea.
	//  Secventa de servere se termina cu -1 
	short int crypt[17];
} __attribute__((__packed__)) message_t;


Care ar putea fi problema. Cand rulez clientul meu se trimit mesajele cum 
trebuie.

Daca rulez intai clientul de la voi si apoi pornesc gateway am aceeasi 
problema cand dau ./gateway ca sa primesc mesajele de pe coada "(unix_queue.c,
104):
mq_recv: Message too long"

Am sters de fiecare data inainte de a incerca transmiterea de comenzi fisierul
gateway din /dev/mqueue/gateway si tot asa face.

Multumesc,
Bogdan



More information about the so mailing list