【问题标题】:iphone sdk/mac - Yet another problem with socketsiphone sdk/mac - 套接字的另一个问题
【发布时间】:2011-01-17 09:32:54
【问题描述】:

我的程序由两部分组成 - 一个在不同线程上运行的服务器套接字(位于端口 3490)和一个用于测试服务器的客户端。现在服务器有一个 pdf 文件,我希望客户端在 UIWebView 中显示它。为此,我使用了以下方法:

    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];

【问题讨论】:

  • 显然没有filePath。你期望的文件路径是什么?
  • 没关系!问题在于 viewController.filePath 它需要是 [viewController.filePath UTF8String];你可以关闭这个帖子
  • 把它作为一个答案并接受自己。

标签: iphone file sockets download send


【解决方案1】:

没关系。我解决了这个问题。似乎 open(viewController.filePath, O_RDONLY); 中需要 [viewController.filePath UTF8String];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 2011-05-14
    相关资源
    最近更新 更多