Gui51
Messages postés18Date d'inscriptionmardi 18 janvier 2005StatutMembreDernière intervention 1 avril 2005
-
29 mars 2005 à 17:31
Gui51
Messages postés18Date d'inscriptionmardi 18 janvier 2005StatutMembreDernière intervention 1 avril 2005
-
1 avril 2005 à 17:34
Bonjour, nous avons un soucis lors d'une connection client sous QNX (UNIX).
Voici le type d'erreur que nous obtenons suite à la compilation...
Pouvez-vous nous aider pour corriger ce problème?
Ci-joint, voici le code que nous avons saisis:
cs_lacousine
Messages postés58Date d'inscriptionmardi 6 janvier 2004StatutMembreDernière intervention13 juillet 2007 31 mars 2005 à 21:46
Bonjour voici de la documentation. Elle n'a pas été écrite par moi-même, mais par un de mes professeurs. En espérant que tu trouveras une réponse dans ce texte.
<HR>
Les messages
Les messages sont au coeur de Neutrino. Ils ne sont pas seulement utilisés par les applications, mais aussi par les appels système.
Ils sont basés sur le modèle client-serveur.
Point de vue du client
Établissement de la connexion
#include <sys/neutrino.h>
int ConnectAttach(
int nd, // Node Descriptor (descripteur de noeud)
pid_t pid, // Process ID (identificateur de processus)
int chid, // Channel ID (identificateur de canal)
unsigned index, // à zéro pour le moment
int flags // à zéro pour le moment
);
Le serveur auquel le cilent veut se connecter peut ainsi être identifié par le trio unique ND-PID-CHID.
Supposons que le client veut se connecter au processus 135, canal 1, sur le noeud (ordinateur) courant. Nous aurons:
int coid = ConnectAttach( 0, 135, 1, 0, 0 );
La variable nommée ici "coid" pour Connection ID, est un petit entier qui identifie de façon unique la connexion et qui pourra être utilisé pour tous les échanges du client avec le serveur.
Envoi d'un message
#include <sys/neutrino.h>
int MsgSend(
int coid, // Connection ID
const void *smsg, // pointeur sur le message envoyé
int sbytes, // taille du message envoyé
void *rmsg, // pointeur sur la réponse
int rbytes // taille de la réponse
);
Envoyons maintenant un message:
#include <sys/neutrino.h>
char *smsg = "Message du client vers le serveur";
char rmsg[ 200 ]; // tampon pour la réponse
int coid;
// établissement de la connexion
coid = ConnectAttach( 0, 135, 1, 0, 0 );
if( coid == -1 )
{
// traitement de l'erreur
}