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

Re: Easy Network Manager [V# 1.0.1][Include]

Beitrag von cxAlex »

Andreas21 hat geschrieben:Hi,

jetzt stürtzt der Server nicht mehr ab.
Perfekt..... :twisted:

@Kuklukan: Das gehört eigentlich in den SafeNetwork-Thread oder?
Bin gerade mobil online, seh mir das in den nächsten 2,3 Stunden an. Könntest du die vIDs mal deaktivieren und so testen?

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
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 [V# 1.0.1][Include]

Beitrag von Andreas21 »

Hi,

Ich hab nochmal ein Test gemacht in der ich mich beim Server anmelde und dann die verbindung wieder beende.

UDP:
Das leuft bis ca. 183 mal. Danach bleibt der Server und Client Stehen.
Das beenden des Clients kommt mit einem error in "_ENM_OpenConnection"
Der server reagiert nicht wenn der Client neu gestartet wird.

TCP:
Es leuft bis ca. 164 mal. Dann bleibt der Client stehen mit einem Fehler:
SafeNetwork.pbi

Code: Alles auswählen

Procedure __SendNetworkData(Connection, *Mem, MemSize)
  Protected isOk, Mutex, rConnection
  Shared __NetworkProtector
  
  rConnection = __vId_Get(Connection)
  
  With __NetworkProtector
    LockMutex(\Mutex)
    Mutex = \Connections(Str(Connection))\Mutex
    UnlockMutex(\Mutex)
    CompilerIf #SafeNetwork_UDPWorkAround
      If Not Mutex
        Mutex = \waUDPMutex
      EndIf
    CompilerEndIf
    If Mutex And rConnection
      LockMutex(Mutex) 
      isOk = SendNetworkData(rConnection, *Mem, MemSize) <---- Error
      UnlockMutex(Mutex)
    EndIf
  EndWith
  
  ProcedureReturn isOk
EndProcedure
[Error] Overflow in a dynamically allocated memory block.

Ich habe das zum testen geändert:

Code: Alles auswählen

Procedure NetEvent_RecData(Server, Client)
  Protected myPakets.ENM_Pakets, Text$
  Shared CB
  Static x
  
    
  ; Kein Herumquälen mit Empfangsschleifen, Auseinanderteile des Empfangenen mehr ...
  ; ENM macht das alles im Hintergrund :D
  ; Pakete laden...
  myPakets = ENM\ReceivePakets(Client)
  
  If myPakets\Count()
    While myPakets\GetNext() ; alle Pakete durchgehen
      Text$ = PeekS(myPakets\GetMem(), myPakets\GetMemSize())
      Debug "Client_Rec : " + Str(Client) + " " + Text$ ; Inhalt testweis anzeigen ...
      
      ; Testweise Antwort senden
      If Text$ = "haha5"
        ENM\SendPaket(Client, @"Danke Server :)", 15)
      EndIf
    Wend
    
  EndIf
  
  ; Pakete freigebn
  myPakets\Free() 
  
  If Not x
    x+1
-------------------------------------------------------
    For t = 1 To 2000
      ENM\CloseConnection(Client)
      _NewConnection()
      a.s = Str(t)
      ENM\SendPaket(myConnection, @a, Len(a))
    Next
--------------------------------------------------------
  EndIf
  
EndProcedure
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Re: Easy Network Manager [V# 1.0.1][Include]

Beitrag von cxAlex »

Hab den Fehler. Dürfte ws auch Kukulkans Problem lösen. Hab was in der SafeNetwork.pbi verschlimmbessert.

Update so schnell es geht.

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 [V# 1.0.1][Include]

Beitrag von cxAlex »

Update. Fehler sollte behoben sein, sowohl mit TCP als auch mit UDP.
Das Extra-Daten Managemant wurde überarbeitet und vereinfacht.

//Edit:
@16:50. Neues Update. Performance bei sehr vielen Clients weiter erhöht.

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 [V# 1.0.2][Include]

Beitrag von cxAlex »

3 Tage keine Meldung? Daraus schließe ich ... das ganze ist stabil :] Jetzt gehts an die Optimierungen und dann werde ich probieren PMV's JSON Include so einzubauen das man sich schnell und einfach eigene Protokolle stricken kann.

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
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Re: Easy Network Manager [V# 1.0.2][Include]

Beitrag von Kukulkan »

Hallo Alex,

ja, es ist nun deutlich besser. Vielen Dank! :allright:

Kukulkan
Benutzeravatar
Morty
Beiträge: 268
Registriert: 22.10.2004 07:20
Wohnort: Erfurt
Kontaktdaten:

Re: Easy Network Manager [V# 1.0.2][Include]

Beitrag von Morty »

Jepp, auch nochmal von mir ein Feedback.
Habe Ende letzter Woche mal einen "Stresstest" mit 100 Client - Verbindungen gleichzeitig gemacht.
Und das lief ziemlich gut.

Also, schön weiter machen!

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

Re: Easy Network Manager [V# 1.0.2][Include]

Beitrag von cxAlex »

Update.

Viele, viele Verbesserungen unter der Haube. Speicherverbrauch gesenkt, JobQueues optimiert, der ClientEventProcessor arbeitet nun wesentlich effizienter, und viele kleine Verbesserungen.

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
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 [V# 1.0.3][Include]

Beitrag von Andreas21 »

Der Download geht bei mir leider nicht.
Bekomme beim entpacken mit WinRar immer nur Fehler.
Habs mehrfach versucht zu Downloaden.

Meldung von WinRar:

Code: Alles auswählen

!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\ENM.pbp.
!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\sample\client.pb.
!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\sample\Paket_SignTester.pb.
!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\sample\server.pb.
!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\src\Common\Stack.pbi.
!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\src\Common\zLib.pbi.
!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\src\ENM.pbi.
!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\src\ENM_CommandDescription.pbi.
!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\src\ENM_Pakets.pbi.
!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\src\JobQueue_MultiThread_LE.pbi.
!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\src\JSON.pb.
!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\src\SafeNetwork.pbi.
!   C:\Dokumente und Einstellungen\Andy\Desktop\EasyNetworkManager.zip: Unbekannte Methode in EasyNetworkManager\src\Thread_Std.pbi.
Mit 7 Zip gehts aber.
Die voriege version von Easy Network Manager konnte man problemlos entpacken mit WinRar.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Re: Easy Network Manager [V# 1.0.3][Include]

Beitrag von cxAlex »

Sorry. Hab das Zip - Archiv mit dem LZMA - Algo anstatt dem default Deflate - Algo gepackt. 7zip 9.x Versionen können das entpacken.

Hab das Archiv neu gepackt und ge-uploaded. Sollte jetzt gehen.

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
Antworten