begin process at 2010 03 12 22:24:20
  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 Envoi de fichier par socket [ par galmone ] Bonjour j'ai un problème je voulais écrire un programme pour envoyer un fichier ce programme fonctionne aussi mais a un bug. Quand le client intercept Socket/send/recv [ par samuraijack1412 ] Bonjour, Je suis en train d'écrire une application de "chat". Elle se compose d'un client et d'un serveur. Maintenant, je veux que le client puisse


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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 : 0,156 sec (3)

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