2010-02-16 6 views
0

Mon programme se compose de 2 parties - Un socket serveur (se trouve sur le port 3490) fonctionnant sur un thread différent, et un client pour tester le serveur. Maintenant, le serveur a un fichier pdf, et je veux que le client l'affiche dans un UIWebView. Pour ce faire je le folllowing:iphone sdk/mac - Encore un autre problème avec les sockets

NSURLRequest *urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://127.0.0.1:3490/"]]; 
[webView loadRequest:urlRequest]; 

Le problème est que lorsqu'un message de serveur sa demande que je reçois dans la console: incapable d'ouvrir « »: Aucun fichier ou répertoire

En le serveur la partie la plus importante du code est:

int fileDesc = open(viewController.filePath, O_RDONLY); 

      if (fileDesc == -1) { 
       fprintf(stderr, "unable to open '%s': %s\n", viewController.filePath, strerror(errno)); 
       exit(1); 
      } 

      off_t offset = 0; 
      off_t len = 0; 
      struct sf_hdtr headers; 
      headers.headers = NULL; 
      headers.trailers = NULL; 
      if (sendfile (fileDesc, new_fd, offset, &len, &headers, 0) == -1){ 
       perror("send"); 
      } 

en fait ce que je suis en train de faire est d'envoyer le fichier via la prise au client. Probablement quelque chose ne va pas ici. Le reste du serveur est assez long donc je vais juste lui fournir le lien (c'est modifié - au lieu d'envoyer j'utilise sendFile). http://beej.us/guide/bgnet/output/html/multipage/clientserver.html#simpleserver

S'il vous plaît aider

Merci

Alex

EDIT: Passons. J'ai résolu le problème. il semble que [viewController.filePath UTF8String] soit nécessaire en open (viewController.filePath, O_RDONLY);

+0

Il n'y a évidemment pas de filePath. Quel filePath vous attendiez-vous? – extraneon

+0

Nevermind! Le problème est avec viewController.filePath il doit être [viewController.filePath UTF8String]; Vous pouvez fermer ce fil – Alex1987

+0

Mettez cela comme une réponse et acceptez-vous. – kennytm

Répondre

0

Nevermind. J'ai résolu le problème. il semble que [viewController.filePath UTF8String] soit nécessaire en open (viewController.filePath, O_RDONLY);

Questions connexes