2017-07-23 3 views
0

Ich versuche derzeit mit CoAP in C# zu starten. Die Bibliothek, die ich verwende, ist CoAP.Net (→ https://github.com/smeshlink/CoAP.NET).Coap.Net - Start

Leider ist mir das in der "Quick Start" -Sektion auf GitHub veröffentlichte Beispiel nicht einmal gelungen.

Mein Server-Code:

class Program 
{ 
    static void Main(string[] args) 
    { 
     CoapServer server = new CoapServer(); 
     server.Add(new HelloWorldRessouce()); 
     server.Start(); 
    } 
} 

und eine Ressource-Klasse in der Server-Lösung:

class HelloWorldRessouce : CoAP.Server.Resources.Resource 
{ 
    public HelloWorldRessouce() : base("hello-world") 
    { 
     Attributes.Title = "GET a friendly greeting!"; 
    } 

    protected override void DoGet (CoapExchange exchange) 
    { 
     exchange.Respond("Hello World fron CoAP.NET!"); 
    } 
} 

Auf der Client-Seite ich folgendes haben:

static void Main(string[] args) 
    { 
     CoapClient client = new CoapClient(); 

     Request request = new Request(Method.GET); 
     //request.URI = new Uri("coap://[::1]/hello-world"); 
     request.URI = new Uri("coap://192.168.178.48:5683/hello-world"); 
     request.Send(); 

     // wait for response 
     Response response = request.WaitForResponse(); 
    } 

Hier ist die Konsolenausgabe vom Server:

DEBUG - Start CoAP Server

DEBUG - BlockwiseLayer verwendet MaxMessageSize: 1024 und DefaultBlockSize: 512

DBEUG - Start Endpunkt gebunden [:: FFFF: 0: 0]: 5683

drücken Sie eine beliebige Taste ...

Hier ist die Konsole-Ausgabe vom Auftraggeber: Console-Output - Client

Ich bin ziemlich sicher, die Probleme sind auf der Client-Seite ...

Es wäre toll, wenn es jemanden gibt, der mir hilft, dieses Beispiel zum Laufen zu bekommen. Oder vielleicht kann mir jemand ein paar Noob-Beispiele geben. Die Beispiel-Dateien helfen mir nicht wirklich mit diesem Problem ...

Vielen Dank aller ... Cheers, Mirco

+0

Ich würde sagen, der Server die IP-Adresse localhost IPV6 gebunden, während mit Client Sie versuchen, die IPv4-Adresse zu versuchen, zu verbinden. Versuchen Sie zu untersuchen, wie die Bindung an IPV4 Adresse –

+0

Hallo Michal, vielen Dank für die Beantwortung. Tatsächlich hört der Server eine IPv6-Adresse ab. Aber wenn ich die Zeile -> request.URI = new Uri ("coap: // [:: 1]/Hallo-Welt"); gibt es immer noch das gleiche Problem ... – MWeb

Antwort

0

Okay, scheint es, als ob es das Dümmste, Benutzer bei der Arbeit war ...^^

Server-Seite:

static void Main(string[] args) 
{ 
    CoapServer server = new CoapServer(); 
    server.Add(new HelloWorldRessouce()); 
    server.Start(); 
} 

nach "server.Start();" Das Programm ist beendet und der Server wird ausgeschaltet.

Durch Hinzufügen eines "Console.ReadKey();" danach ist alles in Ordnung.

Wenn jemand irgendwelche Noob-Beispiele speziell über die Konfiguration hat, werden sie immer noch geschätzt.

Dank jedermann;)