Accueil > Forum > > > > /!\Comment envoyer par socket des donnees binaires svp
/!\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
|
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
|
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
|
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
|
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
|
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 > > > > > > > > > > > > > > > > > > > > > > > > > > > >
|
|
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
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|