0

私のプログラムは2つの部分で構成されています-別のスレッドで実行されているサーバーソケット(ポート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.filePathUTF8String]が必要なようです。

4

1 に答える 1

0

どうでも。問題を解決しました。open(viewController.filePath、O_RDONLY);で[viewController.filePathUTF8String]が必要なようです。

于 2010-02-16T22:07:10.040 に答える