Multipeer Connectivity: Ungültiger Diensttyp

7

Ich versuche, Multipeer Connectivity Framework zu verwenden, aber ich bekomme einen Absturz beim Versuch, MCNeaarbyServiceBrowser mit dem serviceType zu instantiieren.

Nachfolgend ist der Code:

%Vor%

und das ist der Absturz / Fehler, den ich bekomme:

%Vor%

Ich würde wirklich jede Hilfe schätzen.

    
Vik Singh 15.08.2014, 19:28
quelle

3 Antworten

17

Ich glaube, dass Sie nur einen Bindestrich in Ihrer serviceType -Parameter-Zeichenkette haben dürfen, und dieser darf maximal 15 Zeichen lang sein. Dein hat zwei Bindestriche und 17 Zeichen.

Aus den Kommentaren für MCNearbyServiceBrowser() :

  

Der Parameter serviceType ist eine kurze Textzeichenfolge, die zur Beschreibung von    Netzwerkprotokoll der App Es sollte im selben Format wie a sein    Bonjour Service-Typ: bis zu 15 Zeichen lang und gültige Zeichen    Verwenden Sie ASCII-Kleinbuchstaben, Zahlen und den Bindestrich. Ein kurzer Name    das sich von unabhängigen Diensten unterscheidet, wird empfohlen; zum    Beispielsweise könnte eine Text-Chat-App, die von der Firma ABC erstellt wurde, den Diensttyp verwenden    "abc-txtchat".

    
Nate Cook 15.08.2014, 20:39
quelle
1

Die Länge Ihres Diensttyps ist länger als 15 Zeichen und enthält zwei Bindestriche.

Ich schlage vor, dass Sie eine kleine Funktion schreiben, um das serviceType-String-Format auf Sicherheit zu prüfen.

    
thkeen 16.08.2014 19:21
quelle
1

Die obigen Antworten sind korrekt, da ein Bonjour-Dienst nur 15 Zeichen lang sein darf.

Es gibt jedoch kein "ein Bindestrich" -Grenze. Der Wortlaut der Bonjour-Spezifikation beschreibt die Zeichen, die im serviceType erlaubt sind.

"stc-class-vik" ist ein gültiger serviceType

    
Gilles Dignard 09.07.2017 16:58
quelle