标签: network-framework

如何修复“ nw_connection_receive_internal_block_invoke”(控制台)

我正在Xcode中配置新的Firebase应用程序,但在控制台中反复打印“ nw_connection_receive_internal_block_invoke [C1]接收答复失败,错误为'操作取消'”。我应该怎么做才能解决这个问题?

这是在Xcode 11 Beta 3中,并且由于原始文件是从旧版本的Xcode创建的,所以我尝试过一起创建一个新项目,但是即使我已完成所有操作,我仍会在控制台中反复打印此错误。配置后一次。

我希望在控制台中看不到任何错误,但是会多次打印此错误。

ios network-framework

28
推荐指数
1
解决办法
8083
查看次数

如何从 NWEndpoint.service 枚举案例解析地址和端口信息(如果可能)

目前我正在使用NetServiceBrowser查找 Bonjour 服务并解析相应的地址和端口。

为了NWBrowser简化我的代码,我偶然发现它似乎提供了一个非常简单的界面来处理 Bonjour 发现。

但是,browseResultsChangedHandler返回包含 enum case 端点的结果和更改service。我试图从结果中获取地址和端口信息,但似乎NWEndpoint必须是枚举类型 .hostPort。

理想情况下,我会使用端点连接到服务器NWConnection,但是,我使用的是另一个不NWEndpoint直接处理 的库。

是否有(简单的)方法可以从NWEndpoint.service结果中获取地址和端口信息?

import Foundation
import Network

let browser = NWBrowser(for: .bonjour(type: "_http._tcp", domain: ""), using: NWParameters())

browser.browseResultsChangedHandler = { (results, changes) in
    print("Results:")

    for result in results
    {
        if case .service(let service) = result.endpoint
        {
            debugPrint(service)
        }
        else
        {
            assert(false, "This nevers gets executed")
        }
    }

    print("Changes:")

    for change in changes
    { …
Run Code Online (Sandbox Code Playgroud)

macos bonjour dns-sd swift network-framework

7
推荐指数
1
解决办法
342
查看次数

使用 NWBrowser for Network.framework 时,为什么 TXT 记录设置为 nil?

我正在尝试使用 Swift 中的 Network.framework 为我的 iOS 应用程序获取在本地网络上运行的 Bonjour 服务列表。为了发现与我的应用程序运行时使用相同协议版本的设备,我需要能够查看网络上运行的 Bonjour 服务的 TXT 记录。但是,当我尝试打印时result.endpoint.txtRecord总是返回零。

下面是我的代码示例(经过简化以重点关注此示例的关键部分):

let parameters = NWParameters.tcp
parameters.includePeerToPeer = true
parameters.allowLocalEndpointReuse = true

let browser = NWBrowser(for: .bonjour(type: "_tictactoe._tcp", domain: nil), using: parameters)

browser.browseResultsChangedHandler = { results, changes in
    for result in results {
        print("Browser result. txtRecords: \(result.endpoint.txtRecord)")
    }
}
Run Code Online (Sandbox Code Playgroud)

mdns bonjour ios swift network-framework

3
推荐指数
1
解决办法
218
查看次数

为什么网络状态无法快速更新?

我正在使用iOS 12中引入的新“网络”库,但无法弄清楚为什么用户连接后网络状态没有更新为.satisfied。

这是到目前为止的代码:

import Network

class MapViewController: UIViewController {

    let networkMonitor = NWPathMonitor()
    let queue = DispatchQueue(label: "NetworkMonitor")

    override func viewDidLoad() {
        super.viewDidLoad()

        // check for internet connection
        networkMonitor.pathUpdateHandler = { path in
            if path.status != .satisfied {

                // alert the user to check internet connection
                let alert = UIAlertController(title: "Internet Error", message: "Unable to connect. Please check your internet connection.", preferredStyle: .alert)
                alert.addAction(UIAlertAction(title: "Cancel", style: .default, handler: nil))
                alert.addAction(UIAlertAction(title: "Retry", style: .default, handler: { (action) in
                    // TODO: after …
Run Code Online (Sandbox Code Playgroud)

ios swift network-framework

0
推荐指数
1
解决办法
142
查看次数

标签 统计

network-framework ×4

ios ×3

swift ×3

bonjour ×2

dns-sd ×1

macos ×1

mdns ×1