Mono-Kompatibel Netzwerk/Socket-Bibliothek

Gibt es Mono (C#) - kompatibel Netzwerk /socket-Bibliotheken gibt?

Vorzugsweise etwas, das ist:

  • Multi-Threaded
  • Event Driven
  • In der Lage, mehrere verbindungen
  • Handhabt client-und server-Stücke
  • Läuft auf Mono und MS .NET Laufzeiten
  • Sehr einfach
  • Frei (Und nutzbar bei kommerzieller software)

Es wäre auch wirklich toll, wenn es war:

  • .NET Compact Framework (Windows Mobile) kompatibel
  • MonoTouch (iPhone) kompatibel

Edit:

Klären mehr, was ich mit meiner "eine Ebene über TCP/IP" - Kommentar war, dass ich etwas will, dass ist im Grunde eine Selbstversorger-server /client. Ich will nicht zu haben, um mit dem schreiben der threading-code, Behandlung jede Verbindung, etc. Zum Beispiel, ich würde lieben, damit der code wie folgt Aussehen:

Server s = new Server(8080);
s.NewConnection += new ConnectionEventHandler(NewConnection);
s.DataRecieved += new DataEventHandler(NewData);
s.Start();

void NewConnection(object sender, EventArgs e)
{
   s.Send((Connection)sender, "Hello World!"); //(Connection)sender is the connection instance so the server knows which to send the response to
}

void NewData(object sender, EventArgs e)
{
   s.Send((Connection)sender, e.Data); //Echo back
}

Nicht der sauberste code, aber ich denke, es gibt die grundlegende Idee.

  • Meinst du IP-sockets? Ich wäre überrascht, wenn irgendjemand die Mühe gemacht hätte zu schreiben, eine vollständige Netzwerk-stack gegeben, es ist alles da in System.Net & Systems.Net.Sockets. Ich denke, es könnte einige wrapper-Bibliotheken hinzufügen, um eine spezifische Erweiterung, ich kann nicht denken Sie an ein Beispiel wenn.
  • Ja ich meine IP-Sockets. Und sicher, ich kann die standard-socket-Klassen, aber jedes mal, wenn ich tun, es ist die gleiche Sache über und über. Ich habe mit all den multi-threading - / async-Sachen wieder, die ich nur irgendwie dachte, dass an dieser Stelle, das war im Grunde schon fertig.... Ich bin auf der Suche nach etwas, das 1 level über TcpClient und TcpListener.
InformationsquelleAutor Adam Haile | 2009-09-11
Schreibe einen Kommentar