我正在使用GCDWebServer并通过运行启动它:

webServer!.start(withPort: 8080, bonjourName: "Test")

从GCDWebServer检查[INFO]日志时,我可以在两个不同的位置看到两条消息:
  • GCDWebServer在端口8080上启动,可通过http:// {deviceIp}:8080 /
  • 访问
  • GCDWebServer现在可以从http:// {deviceName} .local:8080
  • 本地访问

    我对另一个URL使用设备名称而不是我在上面的代码中配置的bonjourName感到满意,但这没什么大不了的。

    更重要的是,在实现了GCDWebServerDelegatewebServerDidStart之后,从那里打印serverURL仍然显示IP URL。

    我还可以看到在日志中为GCDWebServer消息完成Bonjour注册之前,已调用webServerDidStart

    如何获得人类可读的URL?

    最佳答案

    要使用的属性是bonjourServerURLserverURL始终是IP地址,一旦调用webServerDidCompleteBonjourRegistration委托方法,bonjourServerURL就会保存该值。我不知道为什么Bonjour URL中的主机名与bonjourName参数值不匹配。

    10-08 05:32