Pergunta

Meu programa consiste em 2 partes - um soquete de servidor (fica na porta 3490) em execução em um encadeamento diferente e um cliente para testar o servidor. Agora, o servidor possui um arquivo PDF e eu quero que o cliente o exiba em um UIWebView. Para conseguir isso, usei o seguinte:

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

O problema é que, quando um servidor publica sua solicitação, recebo no console:Incapaz de abrir '': nenhum arquivo ou diretório

No servidor, a parte mais importante do código é:

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

Basicamente, o que estou tentando fazer é enviar o arquivo através do soquete para o cliente. Provavelmente algo está errado aqui. O restante do servidor é bastante longo, então vou fornecer o link para ele (é modificado - em vez de enviar, eu uso o Sendfile). http://beej.us/guide/bgnet/output/html/multipage/clientverver.html#simpleerver

Por favor ajude

Obrigado

Alex

EDIT: Esperam. Eu resolvi o problema. Parece que [ViewController.FilePath Utf8String] é necessário em Open (ViewController.FilePath, O_RDONLY);

Foi útil?

Solução

Não importa. Eu resolvi o problema. Parece que [ViewController.FilePath Utf8String] é necessário em Open (ViewController.FilePath, O_RDONLY);

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top