2016-10-24 12 views
2

Ich versuche, einen asynchronen Server mit .NET-Core zu tun und ich bin nach dieser Anleitung: https://msdn.microsoft.com/fr-fr/library/fx6588te(v=vs.110).aspx.NET Core-Socket.BeginAccept fehlen

Aber das Problem ist, dass Visual Studio InteliSence nicht die BeginAccept nicht finden Methode ... Ich habe die Corefx Quellen auf Github überprüft und die BeginAccept Methode existiert.

die Führung für .NET Framework Vielleicht nicht gültig für das .NET-Core ist ...

Haben Sie Ideen, wie ich einen asynchronen Server mit der Socket Klasse aufbauen kann? Dank

EDIT:

Es ist meine project.json Datei:

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "NETStandard.Library": "1.6.0" 
    }, 

    "frameworks": { 
    "netstandard1.6": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

Antwort

3

Diese API ist auf .NET-Core nicht zur Verfügung. Sie müssen stattdessen AcceptAsync verwenden, was in .NET Core und .NET Framework funktioniert. Im Allgemeinen sind die Async-Methoden XyzBegin und XyzEnd in .NET Core nicht verfügbar.

Diese Funktion unterscheidet sich von anderen * Async-APIs dadurch, dass sie keine Aufgabe zurückgibt. Stattdessen übergeben Sie eine SocketAsyncEventArgs. Eines der Mitglieder davon ist Completed, ein Ereignis, das ausgelöst wird, wenn der Socket eine Verbindung beendet.

Die vollständige Dokumentation und Beispiele zur Verwendung finden Sie in der verknüpften Dokumentation.

+0

Vielen Dank für Ihre Antwort. Ich habe noch eine Frage, ich habe in der Dokumentation gesehen, dass es eine maximale Anzahl von Verbindungen gibt, die durch das Feld 'm_numConnections' repräsentiert werden. Kann ich mehrere Clients ohne eine maximale Anzahl von Verbindungen verwalten? Ist dieses Beispiel gut für eine große Anzahl von Kunden? – Eastrall