让应用充当服务器

Posted

技术标签:

【中文标题】让应用充当服务器【英文标题】:Make app act as a Server 【发布时间】:2014-02-26 10:19:18 【问题描述】:

我正在使用CocoaHTTPServer,并且能够启动服务器。在我的资源文件夹中,我添加了一个名为“index.html”的文件,这让我感到困惑。

我可以通过

获取索引文件的路径

[主包 pathForResource:@"index" ofType:@"html"]

但它给了我路径 /Users/Library/Application%20Support/iPhone%20Simulator/7.0.3/Applications/。 有什么方法可以让路径变成一个 web-url 像 http://127.0.0.1:56000/user/library/.../index.html" 将其加载到 UIWebView。

我想获取上面格式的文件路径,因为我想 捕获 UIWebView 何时向它发出请求以及应用程序何时 回应。

有什么方法可以实现吗? 提前致谢。

【问题讨论】:

【参考方案1】:

    您可以像这样将资源加载到UIWebView

    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"www"]];
    [webview loadRequest:[NSURLRequest requestWithURL:url]];
    

    要捕获UIWebView 的请求,请检查UIWebViewDelegate 协议here。您可以使用以下方法,例如webView:shouldStartLoadWithRequest:navigationType:

【讨论】:

嗨@deimus 这是我的错,我应该把第二个问题放在第一个问题上。我想让我的应用程序充当 Web 服务器,当 UIWebView 想要在我的手机中加载 html 文件时,我可以捕获对它的请求,并编写自定义响应。这就是为什么我想将文件路径加载为网络链接,例如“127.0.0.1:56000/index.html” @JozoL 请更清楚地说明您想要捕获什么以及何时捕获? 如果您还有问题,请告诉我 嗨@deimus 感谢您的回答,但我希望该应用程序充当 Web 服务器怎么样。当 UIWebView 想要加载 index.html 文件时。应用知道了,在UIWebView显示响应内容之前写一些东西响应?? 对于第一个问题,您的解决方案不包括文件 url 的端口。有什么办法吗?

以上是关于让应用充当服务器的主要内容,如果未能解决你的问题,请参考以下文章

Zookeeper在hadoop中充当啥角色,dubbo使用zookeeper又是干嘛的?

如何关闭 TCP Keepalive?

在提供 JSON 数据的 C++/Qt(充当服务器)中创建简单的 WebService

Java 的 ThreadPoolExecutor 可以在应用程序级别充当负载均衡器吗?

如何让 Firebase Functions 充当用户而不是管理员?

让 Java servlet 充当代理的代码?