TcpSharpr
TcpSharpr ist eine kleine in C# geschriebene Networking-Library, die ich erstellt habe um schnell und einfach mit anderen .NET Anwendungen zu reden. Bei der Erstellung der Library habe ich darauf geachtet sie so "straight-forward" zu machen wie möglich. Zur Verwendung wird kein großes Wissen von TCP benötigt.
Zurzeit bietet diese Library keine Implementierung für verschlüsselten Datenverkehr und eine sinnvolle Implementierung für große Datenübertragungen.
Beide diese Dinge möchte ich jedoch in einem zukünftigen Build anstreben.
Mindestanforderungen
Zur Verwendung wird mindestens NET Core 2.0 benötigt.
Source-Code
Diese Library ist open-source. Der Source-Code ist zu finden unter github.com/RyanTT/TcpSharpr
Verwendungsbeispiele
Spoiler anzeigen
Einen Server entweder nach der UTC oder der lokalen Zeit zu fragen könnte zum Beispiel so aussehen:
Für (Verbesserungs-)Vorschläge bin ich immer dankbar.
TcpSharpr ist eine kleine in C# geschriebene Networking-Library, die ich erstellt habe um schnell und einfach mit anderen .NET Anwendungen zu reden. Bei der Erstellung der Library habe ich darauf geachtet sie so "straight-forward" zu machen wie möglich. Zur Verwendung wird kein großes Wissen von TCP benötigt.
Zurzeit bietet diese Library keine Implementierung für verschlüsselten Datenverkehr und eine sinnvolle Implementierung für große Datenübertragungen.
Beide diese Dinge möchte ich jedoch in einem zukünftigen Build anstreben.
Mindestanforderungen
Zur Verwendung wird mindestens NET Core 2.0 benötigt.
Source-Code
Diese Library ist open-source. Der Source-Code ist zu finden unter github.com/RyanTT/TcpSharpr
Verwendungsbeispiele
Wie erstelle ich einen Server?
Wie erstelle ich einen Client und verbinde mit einem Server?
Wie erstelle ich eine Methode zum Aufruf über das Netzwerk?
Synchron
Asynchron
Wie führe ich eine Methode übers Netzwerk aus und erhalte den Rückgabewert?
oder wenn man sich für das Resultat der Funktion nicht interessiert...
Wie erstelle ich einen Client und verbinde mit einem Server?
Wie erstelle ich eine Methode zum Aufruf über das Netzwerk?
Synchron
Asynchron
Wie führe ich eine Methode übers Netzwerk aus und erhalte den Rückgabewert?
oder wenn man sich für das Resultat der Funktion nicht interessiert...
Einen Server entweder nach der UTC oder der lokalen Zeit zu fragen könnte zum Beispiel so aussehen:
C#-Quellcode
- using System;
- using System.Net;
- using System.Threading.Tasks;
- namespace TcpSharpr.Example {
- class Program {
- static void Main(string[] args) {
- MainAsync().Wait();
- }
- static DateTime GetServerTime(bool utc) {
- if (utc) {
- return DateTime.UtcNow;
- } else {
- return DateTime.Now;
- }
- }
- static async Task MainAsync() {
- Server server = new Server(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1805));
- server.CommandManager.RegisterCommand("GetServerTime", new Func<bool, DateTime>(GetServerTime));
- server.Start();
- Client client = new Client(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1805));
- await client.ConnectAsync();
- bool getUtc = true;
- var serverTimeRequest = await client.SendRequestAsync("GetServerTime", getUtc);
- Console.WriteLine($"The server time (UTC: {getUtc}) is " + await serverTimeRequest.GetResultAsync<DateTime>());
- Console.ReadLine();
- }
- }
- }
Für (Verbesserungs-)Vorschläge bin ich immer dankbar.