begin process at 2012 05 29 02:01:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

/!\Comment envoyer par socket des donnees binaires svp


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

/!\Comment envoyer par socket des donnees binaires svp

mardi 12 août 2003 à 16:43:41 | /!\Comment envoyer par socket des donnees binaires svp

lolman27

sachant ke la fonctin send nenvoie que des characteres...
si on veut envoyer une chaine comprenant un byte de valeur 0 (qui corespond a un eof en charactere) la chaine est tronker a ce byte
comment faire ? oO
mardi 12 août 2003 à 16:56:17 | Re : /!\Comment envoyer par socket des donnees binaires svp

aardman

Membre Club
Salut,
En 3eme param de send(..) tu as mis quoi ?



-------------------------------
Réponse au message :
-------------------------------

> sachant ke la fonctin send nenvoie que des characteres...
> si on veut envoyer une chaine comprenant un byte de valeur 0 (qui corespond a un eof en charactere) la chaine est tronker a ce byte
> comment faire ? oO
>
mardi 12 août 2003 à 17:09:23 | Re : /!\Comment envoyer par socket des donnees binaires svp

fabiencpp



Prototype de Send

int Send(char *buff,int size, int flag)

la valeur de retour c'est le nb d'octet reelement envoyé

le char * buff c'est un pointer qui pointe vers une zone de memoire qui contient des octets (peu importe la valeur des octets)

int size c'est la taille de cette zone memoire.

As tu essayer au moins d'envoyé quelquechose.
Parce que a ma connaissance Send se base pas sur un strlen pour derterminer la taille de la zone point par buff mais plutôt du parametre size.

-------------------------------
Réponse au message :
-------------------------------

> sachant ke la fonctin send nenvoie que des characteres...
> si on veut envoyer une chaine comprenant un byte de valeur 0 (qui corespond a un eof en charactere) la chaine est tronker a ce byte
> comment faire ? oO
>
mardi 12 août 2003 à 17:12:43 | Re : /!\Comment envoyer par socket des donnees binaires svp

aardman

Membre Club
Yep exactement je pense que c'est ca.
Il a du mettre un strlen(buf) a la place de sizeof(buf) donc strlen s'arrete au 1er octet nul rencontré.


-------------------------------
Réponse au message :
-------------------------------

>
>
> Prototype de Send
>
> int Send(char *buff,int size, int flag)
>
> la valeur de retour c'est le nb d'octet reelement envoyé
>
> le char * buff c'est un pointer qui pointe vers une zone de memoire qui contient des octets (peu importe la valeur des octets)
>
> int size c'est la taille de cette zone memoire.
>
> As tu essayer au moins d'envoyé quelquechose.
> Parce que a ma connaissance Send se base pas sur un strlen pour derterminer la taille de la zone point par buff mais plutôt du parametre size.
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > sachant ke la fonctin send nenvoie que des characteres...
> > si on veut envoyer une chaine comprenant un byte de valeur 0 (qui corespond a un eof en charactere) la chaine est tronker a ce byte
> > comment faire ? oO
> >
>
mardi 12 août 2003 à 17:13:55 | Re : /!\Comment envoyer par socket des donnees binaires svp

lolman27



int send (SOCKET s, const char *buf, int len, int flags );

alors pr le 3 eme parametre g mi sizeof(monbuffer)
puisque ds mon prog la variable contenant les donne est tjr pleine

sinon pr fabien
justement la valeur des byte pose pb car la fonction demande un pointeur vers une zone de texte ...a la rencontre d un caracter -1 ou (soit octet de valeur 0)
la fonction croit la chaine terminee
++
-------------------------------
Réponse au message :
-------------------------------

> Salut,
> En 3eme param de send(..) tu as mis quoi ?
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > sachant ke la fonctin send nenvoie que des characteres...
> > si on veut envoyer une chaine comprenant un byte de valeur 0 (qui corespond a un eof en charactere) la chaine est tronker a ce byte
> > comment faire ? oO
> >
>
mardi 12 août 2003 à 17:20:34 | Re : /!\Comment envoyer par socket des donnees binaires svp

aardman

Membre Club
Salut,
dans le cas de cette fonction, const char * est un pointeur vers ce que tu veux envoyer (meme si c pas du texte).
Normalement ca envoie le nombre d'octet spétifié par len.
Le prob vient peut etre d'ailleur ?



-------------------------------
Réponse au message :
-------------------------------

>
>
> int send (SOCKET s, const char *buf, int len, int flags );
>
> alors pr le 3 eme parametre g mi sizeof(monbuffer)
> puisque ds mon prog la variable contenant les donne est tjr pleine
>
> sinon pr fabien
> justement la valeur des byte pose pb car la fonction demande un pointeur vers une zone de texte ...a la rencontre d un caracter -1 ou (soit octet de valeur 0)
> la fonction croit la chaine terminee
> ++
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut,
> > En 3eme param de send(..) tu as mis quoi ?
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > sachant ke la fonctin send nenvoie que des characteres...
> > > si on veut envoyer une chaine comprenant un byte de valeur 0 (qui corespond a un eof en charactere) la chaine est tronker a ce byte
> > > comment faire ? oO
> > >
> >
>
mardi 12 août 2003 à 17:25:37 | Re : /!\Comment envoyer par socket des donnees binaires svp

lolman27



"le char * buff c'est un pointer qui pointe vers une zone de memoire qui contient des octets (peu importe la valeur des octets)"

ds ce cas i orait eu un void et non un char

je pensais ossi ke la fonction envoyai le nb doctet preciser a partir de ladresse du buff ...
effectivement il envoi le nb doctertt precises ms les octets situe apre le byte 0 ds le buffer son traduit par des byte 0

sinon g trouver ca :http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/vclrfCAsyncSocketSendToEx.asp
ms g pas tester encore :/


-------------------------------
Réponse au message :
-------------------------------

> Salut,
> dans le cas de cette fonction, const char * est un pointeur vers ce que tu veux envoyer (meme si c pas du texte).
> Normalement ca envoie le nombre d'octet spétifié par len.
> Le prob vient peut etre d'ailleur ?
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> >
> > int send (SOCKET s, const char *buf, int len, int flags );
> >
> > alors pr le 3 eme parametre g mi sizeof(monbuffer)
> > puisque ds mon prog la variable contenant les donne est tjr pleine
> >
> > sinon pr fabien
> > justement la valeur des byte pose pb car la fonction demande un pointeur vers une zone de texte ...a la rencontre d un caracter -1 ou (soit octet de valeur 0)
> > la fonction croit la chaine terminee
> > ++
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut,
> > > En 3eme param de send(..) tu as mis quoi ?
> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > sachant ke la fonctin send nenvoie que des characteres...
> > > > si on veut envoyer une chaine comprenant un byte de valeur 0 (qui corespond a un eof en charactere) la chaine est tronker a ce byte
> > > > comment faire ? oO
> > > >
> > >
> >
>
mardi 12 août 2003 à 17:29:12 | Re : /!\Comment envoyer par socket des donnees binaires svp

aardman

Membre Club
Salut,
Essaye de caster avec (void*) quand tu passes l'adresse de ton buffer.

-------------------------------
Réponse au message :
-------------------------------

>
>
> "le char * buff c'est un pointer qui pointe vers une zone de memoire qui contient des octets (peu importe la valeur des octets)"
>
> ds ce cas i orait eu un void et non un char
>
> je pensais ossi ke la fonction envoyai le nb doctet preciser a partir de ladresse du buff ...
> effectivement il envoi le nb doctertt precises ms les octets situe apre le byte 0 ds le buffer son traduit par des byte 0
>
> sinon g trouver ca :http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/vclrfCAsyncSocketSendToEx.asp
> ms g pas tester encore :/
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut,
> > dans le cas de cette fonction, const char * est un pointeur vers ce que tu veux envoyer (meme si c pas du texte).
> > Normalement ca envoie le nombre d'octet spétifié par len.
> > Le prob vient peut etre d'ailleur ?
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > >
> > > int send (SOCKET s, const char *buf, int len, int flags );
> > >
> > > alors pr le 3 eme parametre g mi sizeof(monbuffer)
> > > puisque ds mon prog la variable contenant les donne est tjr pleine
> > >
> > > sinon pr fabien
> > > justement la valeur des byte pose pb car la fonction demande un pointeur vers une zone de texte ...a la rencontre d un caracter -1 ou (soit octet de valeur 0)
> > > la fonction croit la chaine terminee
> > > ++
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Salut,
> > > > En 3eme param de send(..) tu as mis quoi ?
> > > >
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > sachant ke la fonctin send nenvoie que des characteres...
> > > > > si on veut envoyer une chaine comprenant un byte de valeur 0 (qui corespond a un eof en charactere) la chaine est tronker a ce byte
> > > > > comment faire ? oO
> > > > >
> > > >
> > >
> >
>
mardi 12 août 2003 à 17:40:46 | Re : /!\Comment envoyer par socket des donnees binaires svp

lolman27



arf bon ji arive pa je croi ke c pas possible avec cette fonction ca me casse les couilles :(
merci quand meme je v esayer de faire fonctionner lotre fonction:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/vclrfCAsyncSocketSendToEx.asp

-------------------------------
Réponse au message :
-------------------------------

> Salut,
> Essaye de caster avec (void*) quand tu passes l'adresse de ton buffer.
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> >
> > "le char * buff c'est un pointer qui pointe vers une zone de memoire qui contient des octets (peu importe la valeur des octets)"
> >
> > ds ce cas i orait eu un void et non un char
> >
> > je pensais ossi ke la fonction envoyai le nb doctet preciser a partir de ladresse du buff ...
> > effectivement il envoi le nb doctertt precises ms les octets situe apre le byte 0 ds le buffer son traduit par des byte 0
> >
> > sinon g trouver ca :http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/vclrfCAsyncSocketSendToEx.asp
> > ms g pas tester encore :/
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut,
> > > dans le cas de cette fonction, const char * est un pointeur vers ce que tu veux envoyer (meme si c pas du texte).
> > > Normalement ca envoie le nombre d'octet spétifié par len.
> > > Le prob vient peut etre d'ailleur ?
> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > >
> > > >
> > > > int send (SOCKET s, const char *buf, int len, int flags );
> > > >
> > > > alors pr le 3 eme parametre g mi sizeof(monbuffer)
> > > > puisque ds mon prog la variable contenant les donne est tjr pleine
> > > >
> > > > sinon pr fabien
> > > > justement la valeur des byte pose pb car la fonction demande un pointeur vers une zone de texte ...a la rencontre d un caracter -1 ou (soit octet de valeur 0)
> > > > la fonction croit la chaine terminee
> > > > ++
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Salut,
> > > > > En 3eme param de send(..) tu as mis quoi ?
> > > > >
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > sachant ke la fonctin send nenvoie que des characteres...
> > > > > > si on veut envoyer une chaine comprenant un byte de valeur 0 (qui corespond a un eof en charactere) la chaine est tronker a ce byte
> > > > > > comment faire ? oO
> > > > > >
> > > > >
> > > >
> > >
> >
>
mardi 12 août 2003 à 17:44:16 | Re : /!\Comment envoyer par socket des donnees binaires svp

aardman

Membre Club
Tu veux pas mettre un bout de ton code ici ?
Je pense que l'erreur viens pas de send(...).
D'ailleur ca m'etonnerais que send() touche au buffer, il ne fait que lire sur int len octet et envoyer.



-------------------------------
Réponse au message :
-------------------------------

>
>
> arf bon ji arive pa je croi ke c pas possible avec cette fonction ca me casse les couilles :(
> merci quand meme je v esayer de faire fonctionner lotre fonction:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/vclrfCAsyncSocketSendToEx.asp
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut,
> > Essaye de caster avec (void*) quand tu passes l'adresse de ton buffer.
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > >
> > > "le char * buff c'est un pointer qui pointe vers une zone de memoire qui contient des octets (peu importe la valeur des octets)"
> > >
> > > ds ce cas i orait eu un void et non un char
> > >
> > > je pensais ossi ke la fonction envoyai le nb doctet preciser a partir de ladresse du buff ...
> > > effectivement il envoi le nb doctertt precises ms les octets situe apre le byte 0 ds le buffer son traduit par des byte 0
> > >
> > > sinon g trouver ca :http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/vclrfCAsyncSocketSendToEx.asp
> > > ms g pas tester encore :/
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Salut,
> > > > dans le cas de cette fonction, const char * est un pointeur vers ce que tu veux envoyer (meme si c pas du texte).
> > > > Normalement ca envoie le nombre d'octet spétifié par len.
> > > > Le prob vient peut etre d'ailleur ?
> > > >
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > >
> > > > >
> > > > > int send (SOCKET s, const char *buf, int len, int flags );
> > > > >
> > > > > alors pr le 3 eme parametre g mi sizeof(monbuffer)
> > > > > puisque ds mon prog la variable contenant les donne est tjr pleine
> > > > >
> > > > > sinon pr fabien
> > > > > justement la valeur des byte pose pb car la fonction demande un pointeur vers une zone de texte ...a la rencontre d un caracter -1 ou (soit octet de valeur 0)
> > > > > la fonction croit la chaine terminee
> > > > > ++
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Salut,
> > > > > > En 3eme param de send(..) tu as mis quoi ?
> > > > > >
> > > > > >
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > sachant ke la fonctin send nenvoie que des characteres...
> > > > > > > si on veut envoyer une chaine comprenant un byte de valeur 0 (qui corespond a un eof en charactere) la chaine est tronker a ce byte
> > > > > > > comment faire ? oO
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

1 2

Cette discussion est classée dans : donnees, chaine, envoyer, socket, binaires


Répondre à ce message

Sujets en rapport avec ce message

Envoi/Reception de donnees binaires par socket en C [ par ravat485 ] Bonjour,je souhaite envoyer des donnees Binaires par socket en C,en consultant le forum pas trouve un exemple pour ca je serai ravi d'avoir votre aide chaine de caractére+ansistring [ par gogeta2003 ] Salut voici mon problème. char *donnees; strcpy(donnees,"e;1.2;45;manu"); typedef struct {   AnsiString val;   float t; int k;   AnsiString t requête http [ par blueburry ] Bonjour,je suis debutant en programmation. G besoin d'envoyer une chaine de caracteres stockee ds un buffer a un  site web ke je dois creer, via une r caractere d'échappement dans une chaine [ par lyde ] je souhaite envoyer la chaine"01060AE0205040045" en hexadecimal, donc je l'ai mis sous la forme "\x01\x06\x01\xAE\x02\x05\x04\x00\x45"seulement \x00 e Serialization et socket [ par Belt ] Salut à tous,je developpe une appli cient/serveur et j'aimerais transferer directement une instance d'une classe comment faire ??En gros je ve faire d socket [ par elanspeech ] Bonjour,Je souhaite envoyer plusieurs fichiers definis via socket. cependant,le contenu des fichiers que j'envoie n'arrive pas dans les fichiers que j Envoyer une chaine de caracteres à une autre application [ par melkiorlenecrarque ] Salut tout le monde !j'ai créé un message windows personnalisé comme ceci: #define WM_ADDTRANSFERT WM_USER+2j'enoi ce message à une autre appli Comment envoyer des fichiers par les sockets? [ par myckie ] Bonjour, je voudrai savoir s'il existe une fonction de visual 6 qui permet d'envoyer des fichier binaire ou des images a travers une socket (la socket Envoyer et recevoir un fichier par Socket en C [ par coolboy78 ] Bonjour,j'aimerai Envoyer et recevoir un fichier par Socket en C. Mais je n'ai pas trouvé de fonction ni d'exemple pour ceci.Si kelkun pouvez maider, Réception de données sur socket. [ par julien20vt ] Bonjour,J'ai un doute concernant l'utilisation de sockets.Si coté serveur j'utilise un buffer de taille X pour lire sur ma socket, ce serveur reste en


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,092 sec (3)

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