문제

내 프로그램은 다른 스레드에서 실행되는 서버 소켓 (포트 3490)과 서버를 테스트하는 클라이언트의 두 부분으로 구성됩니다. 이제 서버에는 PDF 파일이 있으며 클라이언트가 UIWebView에 표시되기를 원합니다. 이것을 달성하기 위해 나는 folllowing을 사용했습니다.

    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

도와주세요

감사

알렉스

편집 : Nevermind. 나는 문제를 해결했다. [ViewController.FilePath UTF8String]이 Open (ViewController.FilePath, O_RDONLY)에서 필요합니다.

도움이 되었습니까?

해결책

신경 쓰지 마. 나는 문제를 해결했다. [ViewController.FilePath UTF8String]이 Open (ViewController.FilePath, O_RDONLY)에서 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top