EasyNetworkManager [Neu: Log - System][V# 1.3.3][Include]

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

EasyNetworkManager [Neu: Log - System][V# 1.3.3][Include]

Beitrag von cxAlex »

Servus.

Nachdem ich schon einige Client-Server Anwendungen mit PB realisiert habe, bin ich immer wieder auf dieselben Probleme gestoßen die die PB-Netzwerk Verwaltung mit sich bring:
  • Nicht Threadsicher
  • Kein Disconnect-Event am Client
  • Keine einfache Client/Connection Verwaltung (z.B. zuweisen von ExtraDaten wie äquivalent SetGadgetData())
Zudem finde ich die Verwaltung von mehreren Servern in einem Programm nicht gerade komfortabel.

Dafür arbeite ich nun an meinen Easy Network Manager, der all diese Probleme umschiffen soll. Der bisherige Stand:
  • vollständig Threadsicher
  • vollständiges Callback Managemant
  • einfach Multi-Server & Multi-Connections Verwaltung
  • einfacher Interface Zugriff
  • Client & Server Verwaltung
  • Client #PB_NetworkEvent_Disconnect
  • UDP #PB_NetworkEvent_Connect und #PB_NetworkEvent_Disconnect
  • Einfache Paket Verwaltung inkl. Kompression
  • Einfache Übertragung großer Daten via Streams
  • stark Parallelisiert für gute Performance
  • Einfaches Cache - Managemant
  • Protokol Manager zum einfachen entwickeln eigener Protokolle
  • Authentication System zur einfachen Benutzeranmeldung und Verwaltung
  • Log System zum Aufzeichnen sämtlicher Aktionen

Todo:
  • weitere Optimierungen des Codes
Ständig in Entwicklung. Updates folgen. Wünsche/Kritik/Anregungen immer gern :D

Eine Vollständige, gut kommentierte Beschreibung aller Befehle und wie man Sie benutzt findet man in der Datei ENM_CommandDescription.pbi im Download-Paket.
Das Projekt ENM ist nun bereits sehr umfangreich, und wird ständig weiterentwickelt und verbessert. Wenn dir ENM in einem deiner Projekte hilf bedank dich doch mit einem Bier ; ) Bild
Download:
http://www.rsbasic.de/backupprogramme/E ... anager.zip
Achtung! Veraltet, nicht an 5.x angepasst! Überarbeitung in Planung!

Gruß, Alex
Zuletzt geändert von cxAlex am 31.03.2013 15:07, insgesamt 29-mal geändert.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
Morty
Beiträge: 268
Registriert: 22.10.2004 07:20
Wohnort: Erfurt
Kontaktdaten:

Re: Easy Network Manager [Include]

Beitrag von Morty »

Hi Alex.

Von der Sache her wirklich TOP !!!! :allright:
Ich hoffe Du arbeitest noch weiter dran.

Ich denke Du würdest auch etwas mehr Zuspruch bekommen, wenn Du zu den Includes auch noch 2-3 kleine Beispiele machen würdest.
Es ist am Anfang immer schwierig, sich in die Topologie fremder Programme einzuarbeiten.

Gruß, Morty
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Re: Easy Network Manager [Include]

Beitrag von cxAlex »

:)

Sicher arbeite ich dran weiter. Beispiele gibts dazu sobald ich die Sende/Empfangs - Funktionen eingebaut habe. Das ganze sind einfach die grundlegendsten Netzwerkfunktionen, nur einfach viel einfacher und effizienter zu verwenden als die Standard PB - Funktionen (meiner Meinung nach)

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
Morty
Beiträge: 268
Registriert: 22.10.2004 07:20
Wohnort: Erfurt
Kontaktdaten:

Re: Easy Network Manager [Include]

Beitrag von Morty »

:D

Okay, da bin ich mal gespannt wie es weiter geht.
Mache nämlich auch gerade viel mit Client / Server Verbindungen und suche quasi noch eine gut, aber vorallem "sichere" Methode für das gesamte Handling.

Nebenbei: Was wichtig wäre für das Senden und Empfangen von Daten wäre die Prüfung auf Vollständigkeit der Daten beim Empfang. Wurde ja hier schon öfters im Forum drüber diskutiert.

Gruß, Morty
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Re: Easy Network Manager [Include]

Beitrag von cxAlex »

Eben das will ich beim Senden/Empfangen einbauen. Eine kleine Paket-Verwaltung, gegebenenfalls mit Kompression die sicherstellt das die Daten so ankommen wie sie abgesendet werden.

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Easy Network Manager [Include]

Beitrag von RSBasic »

Nicht schlecht :allright:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Re: Easy Network Manager [Include]

Beitrag von cxAlex »

Neu Version ist online, Paket-Verwaltung implementiert 8)

Leider hab ich noch keine Zeit gehabt ein anschauliches Beispiel zu stricken. Wer sich aber schonmal mit den neuen Befehlen auseinandersetzen will findet die Beschreibung in der Datei ENM_CommandDescription.pbi.

Dowloadlink im 1. Post

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Re: Easy Network Manager [Include]

Beitrag von cxAlex »

Update.

Paket-Verwaltung optimiert, nachladen fehlender Parts verbessert, bzw. kleinen Bug gefixt. Das Signatur-Byte wird nun für jedes Paket dynamisch erzeugt und mit einem Gegenbyte geprüft. Ungültige Pakete sollten so zu 99.9% ausgeschlossen sein, bzw. ENM - Pakete lassen sich nicht mehr so leicht durch beispielsweise einen Netzwerksniffer erkennen.

Kompression für Pakete wurde integriert und ist einfach über einen Flag bei ENM\SendPaket() nutzbar. Packen/Entpacken usw. geschieht im Hintergrund.

Im Ordner sample\ gibt es nun ein kleines Client - Server Demo das die Grundzüge des ENM demonstriert.

Download im 1. Post.

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
Morty
Beiträge: 268
Registriert: 22.10.2004 07:20
Wohnort: Erfurt
Kontaktdaten:

Re: Easy Network Manager [Include]

Beitrag von Morty »

Hey, schön das Du dran bleibst. :allright:

Werde es morgen gleich mal auf Arbeit austesten und dann noch mal Bericht erstatten.

Gruß, Morty
Andreas21
Beiträge: 390
Registriert: 30.08.2004 09:05
Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64
Wohnort: Heidelberg

Re: Easy Network Manager [Include]

Beitrag von Andreas21 »

Hi,

Ich habe die vorlage des Servers und Client mal getestet.
Mir ist ein Problem aufgefallen.

Ab und zu bleibt der Client bei Packet 3 stehen.

Wenn man die verbindung zum Server aufbaut mit dem Client geht es super beim erstenmal.
Beendet man den Client dann und startet ihn neu, sendet der Server ihm zwar die Packete und der Client antwortet auch.
Nur der Server reagiert auf die antwort vom Client nicht.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Antworten