iPhone SDK/Mac - Mais um problema com soquetes
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);
Solução
Não importa. Eu resolvi o problema. Parece que [ViewController.FilePath Utf8String] é necessário em Open (ViewController.FilePath, O_RDONLY);