问题标签 [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 投票
1 回答
343 浏览

ios - 从 GCDWebServer 请求处理程序访问可变数据

我在访问可变字典的 GCDWebServer 处理程序中偶尔发生崩溃。GCDWebServer 自述文件说处理程序“在 GCD 内的任意线程上执行,因此必须特别注意线程安全和重入”,我认为这是我的问题。从处理程序访问父对象的可变属性是否有最佳实践或推荐模式?

我不知道是否可以在线程之间同步,因为我没有创建处理程序线程。另外,我想我可以使用异步处理程序,然后从那里调用主线程上的方法,然后在该方法中完成我的工作,然后发送响应,但这似乎比必要的更复杂且效率更低。

这是我的代码的简化版本:

0 投票
1 回答
2712 浏览

ios - 支持 HTTPS Web 服务器 iOS

我在 iOS 上使用 GCDWebServer 作为 http 服务器。但是,到年底将需要 https。是否有另一个与 IOS 的 https 兼容的 Web 服务器库?我不知道像这样的变化涉及什么。

0 投票
1 回答
1297 浏览

ios - How to set GCDWebServerOption_AutomaticallySuspendInBackground to NO

I am new to iOS and swift with some experience in android. I am using the GCDWebUploader. Its working fine.

The server suspends when the app is in background. I am aware of the constraints in iOS Background Execution. I dont want to change that behaviour.

But I found in GCDWebServer documentation that we can disable this suspension. Check here https://github.com/swisspol/GCDWebServer#gcdwebserver--background-mode-for-ios-apps. Specifically this part

If the app goes in the background while no HTTP connections are opened, GCDWebServer will immediately suspend itself and stop accepting new connections as if you had called -stop (this behavior can be disabled with the ****GCDWebServerOption_AutomaticallySuspendInBackground**** option).

How do you set this option. I tried

And I get the obvious error:

Cannot assign to value: 'GCDWebServerOption_AutomaticallySuspendInBackground' is a 'let' constant

0 投票
4 回答
1292 浏览

ios - wifi关闭时GDCWebserver serverURL为空

我没有从不同的网络访问。我只是想为混合应用程序提供文件。

当我使用以下代码连接到 wifi 网络时,只需运行基本服务器即可:

日志:

在您的网络浏览器中访问http://192.168.1.132:8080/

当我放下 wifi 并启动应用程序和服务器时,我得到:

GCDWebServer 在端口 8080 上启动,可在 (null)

0 投票
1 回答
156 浏览

gcdwebserver - GCDWebServerFileResponse,知道文件何时不再被使用

我在沙盒化的 MacOS 桌面应用程序中使用 GCDWebServer。

我使用 为客户提供了一个文件GCDWebServerFileResponse,效果很好。

但是,某些文件资源是通过安全范围书签访问的(因为沙箱)。

在访问我需要调用的文件之前bookmarkURL.startAccessingSecurityScopedResource(),一旦我完成使用该文件,我需要将它与bookmarkURL.stopAccessingSecurityScopedResource().

我的问题是我目前不知道网络服务器何时完成响应并且文件可以自由关闭。

有没有我可以附加的监听器,或者我可以观察到的键?

谢谢

0 投票
0 回答
112 浏览

carthage - GCDWebUploader.bundle 导致代码唱歌错误 (macOS)

当我尝试提交通过 Carthage 添加了 GCDWebServers 3.3.3 的 macOS 应用程序时:

github "swisspol/GCDWebServer" == 3.3.3

我收到以下错误:

Invalid Signature. Code object is not signed at all. The binary at path [Better.app/Contents/Frameworks/GCDWebServers.framework/Versions/A/Resources/GCDWebUploader.bundle] contains an invalid signature.

想法?

0 投票
0 回答
202 浏览

swift - 使用 GCDWebServer 的 Swift 类的 Xcode 8 分段失败

升级到 Xcode 8 后,我在以下类中收到分段 11 错误:

日志指向 init,但通过注释项目,我可以看到它与使用 Objective C 类 GCDWebServer 有关。具体的日志错误是:

然后它指向上面的init方法。在升级到 Xcode 8 之前,所有这些都运行良好。

谢谢。

0 投票
1 回答
396 浏览

gcdwebserver - 如何同步获取 GCDWebServerBodyReaderCompletionBlock?

我正在研究一种代理类的东西,它应该通过 NSURLSession 发出请求并逐步将其传输到 GCDWebServer 响应。

问题在于GCDWebServerStreamedResponse responseWithContentType:asyncStreamBlock——它需要一个内容类型,所以必须在我得到标题后调用。并且由于某种原因它异步返回一个完成块,同时可以更快地接收数据。

我的意思是,现在它是这样工作的:

  1. API 调用 GCDWebServer
  2. GCDWebServer 创建一个 NSURLSession 数据任务
  3. 数据任务接收头
  4. 创建 GCDWebServerStreamedResponse
  5. 接收数据块(我想将其推送到流响应中)
  6. 从第 4 步得到完成块

如何在第 4 步之后立即获得完成块?

对不起,如果我错过了任何信息,只是我坚持下去,几乎可以肯定我做错了什么......

0 投票
1 回答
118 浏览

ios - 如何停止 GCDWebUploader 的实例 - Objective-c iOS

在我的应用程序中,我已经成功启动了一个 GCDWebUploader 实例,并且可以将文件上传到我的应用程序的文档目录中。我想要的是让用户能够在按下按钮时停止网络服务器。

我试图将实例设置为 nil 但这没有效果。有没有办法做到这一点?我查看了 GCDWebUploader 的头文件,但没有成功!

任何帮助是极大的赞赏 !

祝你今天过得愉快

0 投票
1 回答
923 浏览

ios - 应用程序进入后台时 GCDWebServer 崩溃

当我的应用程序进入后台时,我从 GCDWebServer (3.3.3) 崩溃:

具体线路是:

看起来_options字典必须为 nil (例如,服务器必须停止)但看起来_options从未nil在此代码路径上设置为:它设置为 nil in- stop但不是 in - _stop

我可能遗漏了一些东西,因为这会被其他人注意到。