iphonesdk/mac——套接字的另一个问题
我的程序由两部分组成:一部分是运行在不同线程上的服务器套接字(位于端口3490上),另一部分是测试服务器的客户端。现在服务器有一个pdf文件,我希望客户端在UIWebView中显示它。为了实现这一点,我使用了以下方法:iphonesdk/mac——套接字的另一个问题,iphone,file,sockets,download,send,Iphone,File,Sockets,Download,Send,我的程序由两部分组成:一部分是运行在不同线程上的服务器套接字(位于端口3490上),另一部分是测试服务器的客户端。现在服务器有一个pdf文件,我希望客户端在UIWebView中显示它。为了实现这一点,我使用了以下方法: NSURLRequest *urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://127.0.0.1:3490/"]]; [webView loadRequest:urlReques
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而不是send)
请帮忙
谢谢
亚历克斯
编辑:无需担心。我解决了这个问题。似乎在open中需要[viewController.filePath UTF8String](viewController.filePath,仅限ordu) 无所谓。我解决了这个问题。似乎在open中需要[viewController.filePath UTF8String](viewController.filePath,仅限ordu) 显然没有文件路径。你想要什么文件路径?没关系!问题在于viewController.filePath,它需要是[viewController.filePath UTF8String];你可以关闭这个线程,把它作为一个答案,并接受自己。