PureBoard
https://www.purebasic.fr/german/

EasyNetworkManager [Neu: Log - System][V# 1.3.3][Include]
https://www.purebasic.fr/german/viewtopic.php?f=8&t=23777
Seite 1 von 15

Autor:  cxAlex [ 26.01.2011 15:33 ]
Betreff des Beitrags:  EasyNetworkManager [Neu: Log - System][V# 1.3.3][Include]

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.

Zitat:
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

Autor:  Morty [ 28.01.2011 11:48 ]
Betreff des Beitrags:  Re: Easy Network Manager [Include]

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

Autor:  cxAlex [ 28.01.2011 12:48 ]
Betreff des Beitrags:  Re: Easy Network Manager [Include]

:)

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

Autor:  Morty [ 28.01.2011 12:56 ]
Betreff des Beitrags:  Re: Easy Network Manager [Include]

: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

Autor:  cxAlex [ 28.01.2011 13:01 ]
Betreff des Beitrags:  Re: Easy Network Manager [Include]

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

Autor:  RSBasic [ 28.01.2011 15:27 ]
Betreff des Beitrags:  Re: Easy Network Manager [Include]

Nicht schlecht :allright:

Autor:  cxAlex [ 28.01.2011 18:41 ]
Betreff des Beitrags:  Re: Easy Network Manager [Include]

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

Autor:  cxAlex [ 30.01.2011 12:55 ]
Betreff des Beitrags:  Re: Easy Network Manager [Include]

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

Autor:  Morty [ 30.01.2011 20:19 ]
Betreff des Beitrags:  Re: Easy Network Manager [Include]

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

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

Gruß, Morty

Autor:  Andreas21 [ 30.01.2011 22:44 ]
Betreff des Beitrags:  Re: Easy Network Manager [Include]

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.

Seite 1 von 15 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/