.NET Netzwerk-Bibliothek
Ich habe auf der Suche für eine anständige Netzwerk-Bibliothek für C#.
Es wird verwendet mit XNA 3.1 und .NET Framework 3.5.
Der multi-player-Stil ist geht, werden Server und Client.
Derzeit bin ich auf der Suche in Lidgren-Bibliothek Netzwerk, aber es scheint veraltet.
Jeder bekam einige gute Vorschläge für eine guten-Netzwerk-Bibliothek. Es sollte in der Lage sein, leicht zu handhaben 30+ client-verbindungen gleichzeitig.
wäre es ok, wenn die Bibliothek geschrieben wurden VB.NET?
Saunders: Wenn die library ist eine kompilierte ein .Net-assembly, es wird in CIL und so ist es nicht egal, was die Ausgangssprache ist.
danke, ich weiß das. Ich fragte Mark, da er plädierte für ein "C# Netzwerk Bibliothek".
Er bat um eine Netzwerk-Bibliothek in C#, nicht in C#geschrieben.
Saunders: Wenn die library ist eine kompilierte ein .Net-assembly, es wird in CIL und so ist es nicht egal, was die Ausgangssprache ist.
danke, ich weiß das. Ich fragte Mark, da er plädierte für ein "C# Netzwerk Bibliothek".
Er bat um eine Netzwerk-Bibliothek in C#, nicht in C#geschrieben.
InformationsquelleAutor Mark | 2010-05-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein link ist zwar veraltet, aber wenn Sie Lesen, die Seite leitet Sie auf die neuere version: http://code.google.com/p/lidgren-network-gen3/
Lidgren ist nun die Migration zu github: github.com/lidgren/lidgren-network-gen3
InformationsquelleAutor lidgren
Obwohl es nichts hindert Sie schreiben alle von der low-level-Netzwerk-code selbst, mithilfe einer Bibliothek ist definitiv ein guter Weg, sparen Sie massig Zeit und stress, Zeit, die kannst du dann besser damit verbringen, die Verbesserung Ihrer eigenen Anwendung.
Einer Bibliothek nicht bereits hier erwähnt ist, ist networkComms.net. Es hat eine fülle von ausgefeilten Funktionen (wie z.B. serialisieren, - Komprimierung und-Verschlüsselung), aber da du erwähnst Anzahl von verbindungen speziell, es ist in der Lage Umgang mit 1000+ Anschlüsse mit übertragungsraten von 1Gbit /s+. Es ist eine einfache Artikel über so erstellen Sie eine schnelle client-server-Anwendung, aber in Kürze könnte man das senden und empfangen wie folgt.
Senden:
Erhalten:
Disclaimer: ich bin einer der Entwickler dieser Bibliothek.
Für das Protokoll ich bin einer der Entwickler für networkComms.net. Ich habe nie versucht zu verstecken, werde ich ändern mein Profil um zu verdeutlichen, dass jetzt.
Bitte Lesen Sie die FAQ on Self-Promotion vorsichtig. Sehen Sie insbesondere in dem Teil, wo es sagt, dass, wenn viele Ihrer Beiträge sind Werbeartikel, Sie sind wohl hier aus dem falschen Grund. Beachten Sie auch, dass es erforderlich, die Sie der post einen disclaimer jedes mal, wenn Sie einen link zu Ihrer eigenen Website/Produkt.
Verstanden, ich war nicht bewusst, dass der Impressums-Pflicht.
Werbung eine Website für die Bibliothek bezahlt, verbirgt die Tatsache, dass es sich um eine kostenpflichtige Bibliothek hinter "Download" - link, der Sie zu einem "wählen Sie Bitte Paket!" - Seite mit Preisen aufgelistet ... ich würde es bevorzugen, wenn Sie nicht versuchen, um die Tatsache zu verbergen, auf kurzen Blick auf Sie und stattdessen hatte Sie ein "Kauf" - link.
InformationsquelleAutor MarcF
Du scheinst an der falschen Stelle suchen. Sie scheinen nicht zu haben, sah in den .NET Framework selbst.
Was über die Verwendung von WCF? Was ist mit
TcpListener
?Was brauchen Sie, dass diese nicht bieten?
InformationsquelleAutor John Saunders
WCF ist eine Möglichkeit, aber es kann ein bisschen Schwergewicht für dieses Szenario. .NET-Sockets, OTOH, ist es oft zu low-level, Sie sind nicht einfach "Komponente", um nur plug-in (sowohl Netzwerk und multithreading gelernt werden müssen, bevor die Socket-Klasse verwendet werden kann, richtig).
Schrieb ich eine Bibliothek, Nito.Async.Steckdosen, die Teil der Nito.Async. Es entfernt multithreading überlegungen aus der socket-Programmierung und enthält auch eine höhere Ebene der Abstraktion behandelt, message framing und keepalives.
Nito.Async.Sockets ist noch brauchbar; die v2-API geplant wurde, für Jahre, aber ich nur haven ' T hatte Zeit, es zu tun.
InformationsquelleAutor Stephen Cleary
Wie lidgren veraltet? Es ist immer noch der einzige große Spieler in der .NET Platz für gaming-Netzwerk.
InformationsquelleAutor Björn
Haben Sie versucht, die eingebaute .Net-Bibliotheken gefunden in
System.Net
? Es ist sehr unwahrscheinlich, dass Sie brauchen, um eine externe Bibliothek. Hier ein Beispiel eines einfachen threaded TCP server und möchten Sie vielleicht, um Blick auf UDP. Es gibt eine Menge von tutorials, wenn Sie nur google ein bisschen herum.Versuchen Sie bei der
System.Net.Sockets
MSDN-Seite für weitere Informationen.InformationsquelleAutor Callum Rogers
An dieser Stelle möchte ich schmeiß meine Bibliothek in diesem thread. NuGet verfügbar.
InformationsquelleAutor Thomas Christof