Files
praca_inzynierska/Peered/NoteEditor/NoteEditingSessionServer.swift
T

38 lines
914 B
Swift

import MultipeerConnectivity
import Foundation
@Observable
final class NoteEditingSessionServer: NSObject {
private let session: MCSession
private let browser: MCNearbyServiceBrowser
init(username: String) {
let peer = MCPeerID(displayName: username)
browser = .init(peer: peer, serviceType: "peered")
session = .init(peer: peer)
super.init()
browser.delegate = self
}
func startServer() {
browser.startBrowsingForPeers()
}
func stopServer() {
browser.stopBrowsingForPeers()
}
}
extension NoteEditingSessionServer: MCNearbyServiceBrowserDelegate {
func browser(
_ browser: MCNearbyServiceBrowser,
foundPeer peerID: MCPeerID,
withDiscoveryInfo info: [String : String]?
) {
browser.invitePeer(peerID, to: session, withContext: nil, timeout: 30)
print("seeing peer \(peerID.displayName)")
}
func browser(_ browser: MCNearbyServiceBrowser, lostPeer peerID: MCPeerID) {}
}