             return
         }
         self.publisher = HHServicePublisher.init(name: self.displayNameSanitized, type: self.serviceType, domain: "local.", txtData: txtdata as Data!, port: UInt(serverPort))
+        self.publisher?.mainDispatchQueue = socketQueue
         
         guard let publisher = self.publisher else {
             DLog("BluepeerObject: could not create publisher")

            newPeer.role = .client
            newPeer.socket = newSocket
            self.peers.append(newPeer) // always add as a new peer, even if it already exists. This might result in a dupe if we are browsing and advertising for same service. The original will get removed on receiving the name of other device, if it matches
            DLog("BluepeerObject: accepting new connection from \(connectedHost). Peers.count after adding: \(self.peers.count)")
            
            // CONVENTION: CLIENT sends SERVER 32 bytes of its name -- UTF-8 string
            self.logDelegate?.didReadWrite("readName")

        }

        self.browser = HHServiceBrowser.init(type: self.serviceType, domain: "local.")
        self.browser?.mainDispatchQueue = socketQueue
        guard let browser = self.browser else {
            DLog("BluepeerObject: ERROR, could not create browser")
            return
