2010-02-16 18 views
0

我的程序由2部分組成 - 一個運行在不同線程上的服務器套接字(位於端口3490上)和一個測試服務器的客戶端。現在服務器有一個pdf文件,我希望客戶端在UIWebView中顯示它。要做到這一點我使用了folllowing:iphone sdk/mac - 另一個套接字問題

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

的問題是,當一個服務器職位的請求,我在控制檯中: 無法打開「」:沒有這樣的文件或目錄

在服務器最重要的代碼部分是:

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"); 
      } 

基本上我想要做的是通過套接字發送文件到客戶端。這裏可能有些問題。 服務器的其餘部分很長,所以我只是提供鏈接(它被修改 - 而不是發送我使用sendFile)。 http://beej.us/guide/bgnet/output/html/multipage/clientserver.html#simpleserver

請幫

感謝

亞歷

編輯:沒關係。我解決了這個問題。在open(viewController.filePath,O_RDONLY)中似乎需要[viewController.filePath UTF8String];

+0

顯然沒有filePath。你期望什麼filePath? – extraneon

+0

沒關係!問題出在viewController.filePath 它需要[viewController.filePath UTF8String]; 您可以關閉該主題 – Alex1987

+0

將其作爲答案並接受自己。 – kennytm

回答

0

沒關係。我解決了這個問題。在open(viewController.filePath,O_RDONLY)中似乎需要[viewController.filePath UTF8String];