Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1633 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  envoyer un fichier autre que les .txt avec les socket

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

envoyer un fichier autre que les .txt avec les socket

n°644115
beusser
Posté le 16-02-2004 à 16:41:00  profilanswer
 

salut !
ya t il une fonction autre que send qui s'en charge ? où y a t-il quelque chose de spécial à faire ? car mon programme ne marche qu'avec les .txt
pouvez vous m'aidez ?

mood
Publicité
Posté le 16-02-2004 à 16:41:00  profilanswer
 

n°644117
Taz
bisounours-codeur
Posté le 16-02-2004 à 16:41:52  profilanswer
 

moi faut que j'achète un fusible 10A

n°644128
beusser
Posté le 16-02-2004 à 16:47:08  profilanswer
 

taz a écrit :

moi faut que j'achète un fusible 10A


 
quel rapport ? tu pourrais etre sympa et ne pas polluer mon topic...

n°644130
Taz
bisounours-codeur
Posté le 16-02-2004 à 16:47:49  profilanswer
 

ben si tu pouvais être plus flou, donner mois de code

n°644154
beusser
Posté le 16-02-2004 à 16:56:04  profilanswer
 

je parle d'un envoi de fichier sous windows en TCP, et je voulais savoir si il fo faire quelque chose de spécial pour un envoi de fichier autre que les .txt
et je suis désolé mais je ne peux pas mettre le code. :-/

n°644358
cricri_
Posté le 16-02-2004 à 18:32:39  profilanswer
 

Moi non plus je ne comprends pas bien ...
Send s'en fout de ce que tu envois à priori !

n°644384
torpe23
Posté le 16-02-2004 à 18:55:14  profilanswer
 

Send n'envoie-t-il pas byte par byte?
 
Crici: +1

n°644553
black_lord
Truth speaks from peacefulness
Posté le 16-02-2004 à 20:58:14  profilanswer
 

man send
 


NOM
       send, sendto, sendmsg - Envoyer un message sur une socket.
 
SYNOPSIS
       #include <sys/types.h>
       #include <sys/socket.h>
 
       int send(int s, const void *msg, size_t len, int flags);
 
       int  sendto(int s, const void *msg, size_t len, int flags, const struct
       sockaddr *to, socklen_t tolen);
 
       int sendmsg(int s, const struct msghdr *msg, int flags);
 
DESCRIPTION
       Send, sendto, et sendmsg permettent de transmettre un message à  desti-
       nation d?une autre socket.  Send ne peut être utilisé qu?avec les sock-
       ets connectée alors que sendto et sendmsg peuvent être utilisés tout le
       temps.
 
       L?adresse  de  la  cible  est donnée par to avec la longueur tolen.  la
       longueur du message est indiquée dans len.  Si le message est trop long
       pour  être  transmis  intégralement  au protocole sous-jacent, l?erreur
       EMSGSIZE sera déclenchée et rien ne sera émis.
 
       Aucune indication d?échec  de  distribution  n?est  fournie  par  send.
       Seules  les erreurs locales sont détectées, et indiquées par une valeur
       de retour -1.
 
       Si la socket ne dispose pas de la place  suffisante  pour  le  message,
       alors send va bloquer, à moins que la socket ait été configurée en mode
       d?entrées/sorties non-bloquantes auquel cas elle renverra  EAGAIN.   On
       peut utiliser l?appel système select(2) pour vérifier s?il est possible
       d?émettre des données.
 
       Le paramètre flags peut contenir une ou plusieurs des options suivantes
.........


Message édité par black_lord le 16-02-2004 à 20:58:41
n°644791
174flo
Posté le 17-02-2004 à 00:00:37  profilanswer
 

Ca na aucun raport, mais taz ne fait que poluer les topics avec des reflexion hors sujet et des insultes!http://forum.hardware.fr/icones/icon8.gif

n°644796
Taz
bisounours-codeur
Posté le 17-02-2004 à 00:05:18  profilanswer
 

je ne pollue pas. tout sujet avec un message qui en dit rien, et un « je ne peux pas mettre le code » mérite d'être fermé d'office.
 
 
black_lord : bien essayé «  sous windows en TCP »

mood
Publicité
Posté le 17-02-2004 à 00:05:18  profilanswer
 

n°644894
black_lord
Truth speaks from peacefulness
Posté le 17-02-2004 à 07:28:28  profilanswer
 

[:ddr555]

n°645032
bjone
Insert booze to continue
Posté le 17-02-2004 à 10:38:01  profilanswer
 

bin si ton fichier tu l'ouvrais en binaire au lieu de l'ouvrir en texte, ça marcherai ptet mieux déjà non ? :D

n°645040
chrisbk
-
Posté le 17-02-2004 à 10:39:54  profilanswer
 

Ah, peut etre une fine percée de bjone ?
 
C'est un peu colin maillard ce topic, trouvez le bug les yeux bandßes

n°645051
bjone
Insert booze to continue
Posté le 17-02-2004 à 10:43:43  profilanswer
 

:lol:
 
en même temps c'était facile...
 
je propose des topic programmation à la "dessinez c'est gagné"....

n°645094
gilou
Modérateur
Modzilla
Posté le 17-02-2004 à 11:31:21  profilanswer
 

Oui, enfin pour poster des contributions qui ne veulent rien dire et polluent le topic, tu ferais mieux de t'abstenir, ou d'aller dans blabla@prog...
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°645095
gilou
Modérateur
Modzilla
Posté le 17-02-2004 à 11:32:33  profilanswer
 

Au fait, beusser, je vois toujours pas pourquoi ce topic figure a la section C++...
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°657323
Konar
Posté le 27-02-2004 à 10:57:07  profilanswer
 

WuShu94 a écrit :

pour polluer le topic ya du monde par contre pour répondre à la question...
tt lé fichiers s'envoient de la mm facon que ce soit d txt des bmp etc
je pense que tu as dû utiliser un seul send() pour envoyer ton txt et que c a marcher parce qu'il était assez petit mais dans le cas d'un gros fichier, il faut le decouper l'envoi en plusieur petit morceau du style 256 octets par 256 octets
Cherche un peu et si tu trouve pas je te mettrai l'algo


perdu.
on peut utiliser 1 seul send quelque soit la taille.
si son code marche qu'avec les txt, c'est a coup sur une histoire de \0, de fichier binaire, ou un truc similaire...

n°663327
blackgodde​ss
vive le troll !
Posté le 04-03-2004 à 18:18:51  profilanswer
 

murf ... Konar voulait dire que c'est pas à la couche application à s'occuper du fractionnement en TCP ...


---------------
-( BlackGoddess )-
n°663808
Konar
Posté le 05-03-2004 à 00:51:31  profilanswer
 

WuShu94 a écrit :

murf...moi g jamais parlé de fractionner le fichier pour se farcir le boulot de la couche reseau mais plutot pour la taille du buffer d'envoi et de reception car si, comme le dit Konar, tu peux envoyer n'importe quel taille avec un send(), si t'envoi ton divx en un seul coup tu va avoir du mal à allouer 700 Mo de memoire non ?  


 
ben ouais ok, mais send() il s'en fout de ta quantité de ram, il envoie le buffer qui lui est passé c'est tout, quelquesoit sa taille.
 
fractionner les send c'est juste pour avoir une idée/controle de ce qui se passe.
 
sur ce je te quote :
 

WuShu94 a écrit :


mais dans le cas d'un gros fichier, il faut le decouper l'envoi en plusieur petit morceau du style 256 octets par 256 octets  


 
pourquoi 256 octets ?
tu vas avoir du mal a allouer plus de mémoire ?

n°663810
bjone
Insert booze to continue
Posté le 05-03-2004 à 01:01:00  profilanswer
 

WuShu94 a écrit :

murf...moi g jamais parlé de fractionner le fichier pour se farcir le boulot de la couche reseau mais plutot pour la taille du buffer d'envoi et de reception car si, comme le dit Konar, tu peux envoyer n'importe quel taille avec un send(), si t'envoi ton divx en un seul coup tu va avoir du mal à allouer 700 Mo de memoire non ?  


 
à la boeuf, tu mappes le fichier en mémoire, ça doit marcher :D

n°663811
bjone
Insert booze to continue
Posté le 05-03-2004 à 01:01:15  profilanswer
 

c'est un jeu à essayer tiens...

n°663870
cricri_
Posté le 05-03-2004 à 08:27:26  profilanswer
 

Oui, le mappage de fichier est très certainement la meilleure solution, y a rien de "boeuf" là dedans ...

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  envoyer un fichier autre que les .txt avec les socket

 

Sujets relatifs
Fichier Flash en réseau[Perl] Fichier, dossier ou lien?
Compression d'un ensemble de fichierlecture d'un fichier bmp en c
ouvrir un fichierExtraire le contenu binaire d'un fichier vers une chaine de caracteres
Récupérer, en partie, des données provenant d'un fichier texte[PYTHON] Comment faire pour supprimer un fichier ?
[XMI] Comment récupérer un fichier [URGENT ]peut - on creer une variable dans le fichier bash ?
Plus de sujets relatifs à : envoyer un fichier autre que les .txt avec les socket


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR