Skip to content

Instantly share code, notes, and snippets.

@standinga
Created November 30, 2020 06:58
Show Gist options
  • Save standinga/a03e8ed298ed372397544ff6f4f087c4 to your computer and use it in GitHub Desktop.
Save standinga/a03e8ed298ed372397544ff6f4f087c4 to your computer and use it in GitHub Desktop.
IOS/OSX Networking initial browser
//
// Client.swift
// MultiConnect
//
// Created by michal on 29/11/2020.
//
import Foundation
import Network
let browser = Browser()
class Browser {
let browser: NWBrowser
init() {
let parameters = NWParameters()
parameters.includePeerToPeer = true
browser = NWBrowser(for: .bonjour(type: "_superapp._tcp", domain: nil), using: parameters)
}
func start() {
browser.stateUpdateHandler = { newState in
log("browser.stateUpdateHandler \(newState)")
}
browser.browseResultsChangedHandler = { results, changes in
for result in results {
if case NWEndpoint.service = result.endpoint {
log("browser.browseResultsChangedHandler result: \(result)")
}
}
}
browser.start(queue: .main)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment