[C] "correspondance" possible entre FILE * et socket ? [résolu]

"correspondance" possible entre FILE * et socket ? [résolu] [C] - C - Programmation

Marsh Posté le 30-06-2006 à 19:19:39    

Bonjour,
 
Je suis un peu rouillé sur certains aspects du C, alors excusez-moi si ma question est un peu idiote :o
 
J'ai développé un programme serveur (sous Linux) générant des données qui peuvent être représentées graphiquement. Je souhaite avoir un client php qui affiche ces données. Jusque là tout va bien, les deux communiquent, php me génère bien mon image avec gd... sur ma station de travail. Un bug fourbe de l'antique php sur la machine de production m'empêche de faire fonctionner ça comme ça (et en plus, c'est assez coûteux en ressources sur le serveur apache).
 
Ma nouvelle hypothèse de travail est de générer l'image via la même bibliothèque gd, mais en C, sur le serveur de données, et de transmettre l'image via réseau (et donc d'en faire le minimum en php derrière). Manque de bol, la génération effective de l'image se fait avec  

Code :
  1. void gdImagePng(gdImagePtr im, FILE *out)


Ce que je voudrais, c'est envoyer directement tout ça sur le socket plutôt que créer un fichier sur le disque. Vu qu'en Unix, "tout est fichier", je me dis qu'il doit bien y avoir une bidouille pour faire ça, je compte sur vos lumières :p
 
Merci d'avance.
 
Edit : toute réponse sera bonne pour ma culture générale, mais la fonction suivante génère le fichier png en mémoire, donc je ne pouvais rêver mieux :

Code :
  1. void* gdImagePngPtr(gdImagePtr im, int *size)


Message édité par kzimir le 30-06-2006 à 19:56:32

---------------
Serre les fesses jusqu'en 2012...
Reply

Marsh Posté le 30-06-2006 à 19:19:39   

Reply

Marsh Posté le 30-06-2006 à 22:38:02    

il y a une fonction pour créer un FILE* à partir d'un socket : fdopen

Reply

Marsh Posté le 30-06-2006 à 23:02:06    

Je@nb a écrit :

il y a une fonction pour créer un FILE* à partir d'un socket : fdopen


 
Merci, ça pourra toujours servir :jap:


---------------
Serre les fesses jusqu'en 2012...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed