问题标签 [gcdwebserver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1043 浏览

ios - GCDWebServer中不同本地资源的两条路径

我需要为不同的本地资源(HTML5 游戏)初始化具有两条路径的 GCDWebServer。

现在我可以使用 addGETHandler 为一个资源创建路径。如果您将再次使用此处理程序,则可以使用一次,旧的处理程序将被删除,新的处理程序将取代它。

这是我的代码:

如果有人对如何解决此任务有任何想法,那就太好了。

PS 我想创建 2 台具有不同端口的服务器,但它太贵了。

所有发生的控制器(方法 didSelectRowAt):

链接到回购

0 投票
1 回答
63 浏览

gcdwebserver - 在 macOS/Cocoa 应用程序中启动 GCDWebServer 会冻结应用程序

当我从 macOS/Cocoa 应用程序(不是命令行)启动一个简单的 GCDWebServer 服务器时,应用程序会冻结(“应用程序无响应”+ 沙滩球)。

在 AppDelegate:applicationDidFinishLaunching 方法中:

0 投票
0 回答
116 浏览

ios - 如何使用swift在应用程序内创建图像的url

我有一个小应用程序,它在应用程序中显示 iPhone 的视频和图像。现在,当我访问任何照片或视频时,我想使用 GCDWebServer 生成其 http url(例如http://my-device.local/photo-12-2019.jpg

我遇到了这个链接(https://github.com/swisspol/GCDWebServer),它在某种程度上清除了概念,但不确定如何将照片或视频准确转换为 url。我想在我的 iPhone 上向 GCDWebServer 公开 url。任何示例代码或参考都会很好。

谢谢

0 投票
1 回答
84 浏览

ios - How to send two reponses to a GCDWebServer request

I'm using GCDWebServer's addDefaultHandlerForMethod:@"GET" and sending an NSData response via GCDWebServerDataResponse responseWithData:contentType:@"application/octet-stream"

The user's browser receives a file which it saves in the Download folder. So far, so good. I also want to send a GCDWebServerDataResponse responseWithHTML: to show additional information to the user.

Given one GET request, is there a way to send two responses, one with data and one with HTML?

0 投票
2 回答
587 浏览

ios - 无法在 swift 中使用 GCDWebServer 在 Web 浏览器上获取视频

我创建了一个小型演示应用程序,应用程序使用 UIImagePickerController 从 iPhone 访问图像和视频。当我选择任何图像或视频时,应用程序会在文档目录中创建它的副本(图像或视频)。并使用 GCDWebserver 在 iPhone 上创建 Web 服务器,并需要公开选定的图像或视频。但它不起作用。

这是示例代码,不确定我可能错在哪里。

我需要此 GCD Web 服务器托管/访问此选定的(图像或视频)。

0 投票
2 回答
3538 浏览

ios - GCDWebServer 通过 Hotspot 网络

我正在开发一个应用程序,其中设备可以通过通用 wi-fi 网络相互连接和交互,并用于我正在使用的文件交换GCDWebServer

当我使用通常的 wi-fi 网络或设备通过 3rd 方主机连接到热点网络时,一切正常。但是当启动应用程序的设备之一实际上是热点主机时,我遇到了一个奇怪的问题。

我有这个代码:

问题是 serverURL 是nil. 这实际上似乎是合乎逻辑的,因为我检查了一个GCDWebServerGetPrimaryIPAddress应该告诉地址的函数,而这个函数只是en0在 Hotspot 网络实际上是在接口中查找地址bridge100

所以问题是 - 是否有一种“正常”的方式可以让 GCDWebServer 工作bridge100

第二部分:

虽然serverURL是 nil,但方法startWithPort返回true. 所以我想也许服务器正在运行,它只是不能告诉我它的地址。所以我用我的自定义方法得到了设备的地址(如果你有兴趣,我可以在这里附上它,但我 100% 确定它给出了正确的地址)并尝试使用它来与网络服务器“对话”,但没有运气 - 服务器没有响应。所以也许最终会startWithPort返回一个错误的结果。

非常有趣的观察 - 当我改变primaryInterface方法bridge100GCDWebServerGetPrimaryIPAddress,它解决了这个问题。GCDWebServer显示正确的地址并且它肯定正在运行,因为我可以访问设备文件夹。

任何帮助,将不胜感激!

0 投票
1 回答
257 浏览

swift - 如何在 GCDWebUploader 中限制上传文件类型/格式

我的应用程序涉及将音频文件上传到 iPhone 沙箱的 GCDWebUploader。它运行良好,但我想限制用户可以上传的上传文件类型/格式,例如禁止上传 xxx.doc、xxx.jpg。目前我只想允许 .MP3 和 .AAC 格式。

uploadFile在 GCDWebUploader.m 中找到了这个方法,也许这就是我需要的,在另一个类中覆盖这个方法。但它在 Objective-C 中,我如何在 Swift 中使用它?还有我需要在htmlandjs文件中进行相应更改的内容。欢迎任何帮助和提示。

///GCDWebUploader.muploadFile中的方法

/// index.html中的alert,可以用于上传警告的提示。

///index.js中的代码

0 投票
1 回答
686 浏览

ios - 我们可以在流式传输 m3u8 文件时手动下载/缓存传输流吗

我正在尝试从 m3u8 文件播放传输流。我的要求是在将下载的数据提供给 AVPlayer 之前对其进行处理。为此,我使用代理服务器 [GCDWebserver] 来拦截所有请求。在代理服务器中,我将下载数据处理并反馈给它。

我能够下载媒体文件并尝试使用 GCDWebServerDataResponse(data: apiData, contentType: apiResponse.mimeType ?? "") 返回数据。但是播放器没有播放媒体内容。

  1. 我使用 GCDWebserver 作为我的代理服务器。

  2. 我创建了一个 AVPlayerItem 实例,其 URL 为http://34.55.7.151:8080/ ,它实际上是我的本地服务器 IP 和端口号。

    /// 初始化 AVPlayer 项目

    /li>

/// Http代理处理程序

0 投票
0 回答
744 浏览

android - 使用 http 协议在 webview ios 中加载本地文件。(在android和iOS中创建Webview服务器)

有没有办法在 android 和 iOS 中创建服务器来运行 web 视图?我想使用本地主机 URL 在 Web 视图中运行本地 HTML 文件。

我已经在以下链接上搜索过这个,但找不到任何解决方案。

GCDWeb服务器

本地 http-server-for-ios

为 Android WebView 增压

在此我分享实际情况:

1) 从服务器下载“.zip”文件并保存在应用程序库目录中以供离线使用。

2) ".zip" 文件内容 html 和 javascript 文件。它适用于 HTML 页面很简单的情况。但是,如果 HTML 引用了其他内容,即库目录中的 JavaScript 文件(具有类似 的绝对路径),它将无法加载。

3)我需要在我的设备中设置本地服务器,在应用程序启动时本地服务器启动并在本地服务器上上传应用程序库目录,然后使用本地主机加载内容。见下面的例子

  • 使用库目录路径

file:////Users/prince/Library/Developer/CoreSimulator/Devices/75EF3DD7-DFD1-4EDB-9A6B-9FBA60F4D98C/data/Containers/Data/Application/32F774B2-E811-4281-A37A-DC8A5183B7C8/Library/Application% 20支持/adededfe6c1c7bd8b5d5adb19861b9e0/Responses/36b8f6a8d6f58d58f117856dc80b0d37/abc.html

  • 使用本地主机路径

http://localhost:8080/Application%20Support/adededfe6c1c7bd8b5d5adb19861b9e0/Responses/36b8f6a8d6f58d58f117856dc80b0d37/abc.html

有谁知道为什么会发生这种情况,以及如何解决这个问题?

0 投票
1 回答
525 浏览

ios - 如何读取 GCDWebServer POST 请求的表单正文

我很难相信这是如此困难,但在花了几个小时试图弄清楚之后,我在这里向蜂巢思维寻求帮助!

我的问题与这个问题非常相似,但是那里的答案对我没有帮助,因为我的表格中没有键。我基本上想将文本 .plist 文件从 PC 发送到我的应用程序。页面上的 HTML 是这样的..

这给出了一个非常简单的表单,带有一个选择文件按钮和一个提交按钮。我已向 Wireshark 确认该文件已附加到表单,并且该文件已发布到我的应用程序中的 GCDWebServer。当文件上传由网络服务器处理时,我还可以看到以下确认正文数据:

[调试] 套接字 21 预检请求“POST /upload”上的连接,正文为 2045 字节

[DEBUG] 套接字 21 处理请求“POST /upload”上的连接,正文为 2045 字节

我处理文件的 POST 方法是这样的:

我可以获得内容类型、内容长度、附有正文的布尔确认、所有标题和边界描述等。但我一生无法弄清楚如何获取实际的正文内容。我不希望将其保存为文件,我只是希望将其作为 NSString 进行解析,然后将设置保存在我的应用程序中。

我尝试过的几件事:

NSData 对我来说最有可能,但调用它时应用程序崩溃。如果有人知道我如何访问此发布内容的正文,我将不胜感激!

提前致谢!

等离子体