begin process at 2012 02 11 14:10:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Autre

 > 

Envoi structure dans une Socket


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Envoi structure dans une Socket

samedi 8 décembre 2007 à 19:23:39 | Envoi structure dans une Socket

meastalavista

Bonjour

je programme un client-serveur qui gére des réservations.
Au début je voulais me contenter d'envoyer des simples message,mais ca s'est avéré trop lourd.

on suppose que j'ai une structure de type:

structure reserv
{char num [5];
  char nom [10];
  char description [20];
};

Le probléme, c'est que je ne vois pas comment envoyer des structures par socket et comment les récupérer du coté serveur.

Si quelqu'un peut m'aider à avancer,ca serait sympa.
Au plaisir de vous lire

samedi 8 décembre 2007 à 19:56:50 | Re : Envoi structure dans une Socket

SAKingdom

Membre Club
Réponse acceptée !
Ben

struct struct_test {
    int toto;
};

int main () {
    struct struct_test test = {5};
    ...
    send(..., (char*)&test, sizeof(struct struct_test), ...);
    ...
}

Non ?

C++ (@++)

dimanche 9 décembre 2007 à 15:53:56 | Re : Envoi structure dans une Socket

lektrosonic

Réponse acceptée !
salut,
tu definit un caractere en tant que separateur (exemple "~"), ou meme char seperator = 1  (caractere de code ascii 1 donc vraiment le caractere qui s utilise rarement)
dans ton buffer d envoi:
strcpy(buffer,reserv.num);
strcat(buffer,"~"));
strcat(buffer,reserv.nom);
strcat(buffer,"~"));
strcat(buffer,reserv.descritpion);
strcat(buffer,"~"));

a l'arrivee des donnees:
tu auras un truc qui ressemble a sa dans le buffer de reception:
"45~setphane~test~"

char* part[3];
int len=strlen(buffer_reception);
part[0]=&buffer_repection[0];
int j=0;
for(i=0;i<=len;i++)
{
    if(buffer_repection[i]=='~'
    {
        if(j==3)
        { 
             buffer_reception[i]=0;
             break;
       }
       else
       {
                j++;
              part[j]=&buffer_repection[i+1];
             buffer_reception[i]=0;
       }
    }
}

au final tu auras part[0]=="45" part[1]=="stephane" et part[2]=="test"

l3KTr0 Was HeRe
dimanche 9 décembre 2007 à 15:59:52 | Re : Envoi structure dans une Socket

lektrosonic

Réponse acceptée !
correction

if(j==2) au lien de if(j==3)

l3KTr0 Was HeRe
dimanche 9 décembre 2007 à 16:59:13 | Re : Envoi structure dans une Socket

SAKingdom

Membre Club
Réponse acceptée !
Il envoit une structure contenant des tableaux de taille bien définie.
Si il utilise le même principe à la réception qu'à l'envois, c'est à dire:

recv(..., (char*)&test, sizeof(struct struct_test), ...);

Il devrait être capable de récupérer toute ses chaines correctement.

C++ (@++)

dimanche 9 décembre 2007 à 18:17:18 | Re : Envoi structure dans une Socket

meastalavista

Bonjour,

Merci bcp pour vos reponses,ca m'a été de grande utilité.

tout marche nikel maintenant :d


Hasta La Vista Baby
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai...


Cette discussion est classée dans : serveur, envoi, socket, char, structure


Répondre à ce message

Sujets en rapport avec ce message

sockets: envoi d'une structure... [ par julien20vt ] Maintenant que j'ai réussi à envoyer des char, des int[], je voudrais envoyer un structure faite maison.Le pb est que le socket n'accepte que les char Thread et socket besoin de conseil [ par kawito ] Salut,je desire realiser un client/serveur TCPle probleme est que les fonctions accept et recv sont bloquante.donc cela bloque l'affichage etc...mon p Socket et envoi multiple [ par Disdoll ] Bonjour. Je suis en train de coder un socket sous Borland C++ builder 6. Je précise que je suis un novice en socket. Je cherche à pour envoyer deux do probléme socket du serveur. [ par jerem3000 ] Bonsoir, Actuellement je commence a apprendre la programmation réseau et j'ai un peut du mal a tous comprendre, j'ai donc commencé a analyser le fonc delay client sur server socket linux [ par 0x0syscall ] Bonjour,Voilà, je voudrais savoir comment je dois m'y prendre pour que sur mon serveur si le client ne repond pas au bout de X secondes, le serveur co visu d'une structure [ par toni93330 ] Bonjour,Voila mon problème :j'utilise visual studio 2005 et le framework .NET. Dans mon programme principale j'inclus un fichier de définition qui con application client serveur avec les socket en c [ par zizodev ] Bonjour à tous,mon problème est comment créer une application 'qui demande'.Programme client et autre serveur client  'qui demande' :Pour se connecter Meilleur solution pour serveur MMORPG. [ par LA_Tupac ] Bonjour à tous! voila ma question: Je développe actuellement mon premier jeu en réseau. Le socket d'envoi du client est en tcp et le socket d'envoi du Thread & Socket [ par katerson ] Bonjour tout le monde! Je travaille actuellement sur un projet serveur/client sur UDP. Mon serveur comporte 3 threads qui doivent scruter (indépenda C++?/ Problème pour recevoir des octets dans un tableau [ par LiaGalanodel ] Bonjour a tous. Je suis une grande débutante en c++ et je me heurte a un problème. Voila, je dois faire un programme de socket. J'utilise pour cela


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,498 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales