Akumetsu  | Bonjour,  bonsoir,
   Je vous énonce vite fait le problème, s'il y a besoin de plus d'informations n'hésitez pas à les demander :
   J'envoie, via des socket en C en broadcast (sendto(...)), des données images sous la forme RVB en hexa dans une chaine chaine de caractère (1 pixel = "7F 53 00" par exemple). Les données sont bien reçues à l'application Objective-C mais je n'arrive pas à créer d'image à partir de ces données.     Quelques hypothèses me sont venus :
  
  - Dois-je plutôt envoyer des BYTE plutôt qu'une chaine de caractère ? (J'ai tenté maintes fois de le faire sans succès probant puisque la fonction sendto veut un char*).
 - Les données à envoyer sont-elles correct en envoyant chaque couleur espacé d'un espace (pléonasme) ?
 - Créer un fichier fpp en Objective-C puis le convertir en PNG, JPEG (ce que je faisais sur un linux pour tester)... voire l'afficher directement ?
 - Il faut les stocker dans un array de type NSdata ?
 
 
 Un très léger aperçu du code pour envoyer chaque pixel en langage C :  
  Code :
 - #include ...
 - #define BYTE	unsigned char
 - int Envoyer()
 - {
 - static BYTE red, green, blue ;
 - char buffer[8192] ;
 - sockfd = socket(AF_INET, SOCK_DGRAM, 0) ;
 - // setsockopt, bind...
 - sprintf(buffer, "%02x %02x %02x", red, green, blue) ;    // buffer = "RR VV BB"
 - SendBroadcast(sockfd, buffer) ;
 - }
 - int SendBroadcast(int sockfd, char* buffer) {
 - 	if ((sendto(sockfd, buffer, strlen(buffer), MSG_DONTROUTE,
 -     (struct sockaddr *)&their_addr, sizeof(their_addr))) == -1) {
 -   return -1;
 - 	}
 -     return 0;
 - }
 
  |  
 
   Merci d'avance.      Message édité par Akumetsu le 03-05-2011 à 14:04:46
  |