Seite 5 von 15
Re: Easy Network Manager [V# 1.0.1][Include]
Verfasst: 09.02.2011 14:15
von cxAlex
Andreas21 hat geschrieben:Hi,
jetzt stürtzt der Server nicht mehr ab.
Perfekt.....
@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
Re: Easy Network Manager [V# 1.0.1][Include]
Verfasst: 09.02.2011 17:00
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
Re: Easy Network Manager [V# 1.0.1][Include]
Verfasst: 09.02.2011 17:36
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
Re: Easy Network Manager [V# 1.0.1][Include]
Verfasst: 10.02.2011 11:22
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
Re: Easy Network Manager [V# 1.0.2][Include]
Verfasst: 13.02.2011 16:51
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
Re: Easy Network Manager [V# 1.0.2][Include]
Verfasst: 14.02.2011 09:17
von Kukulkan
Hallo Alex,
ja, es ist nun deutlich besser. Vielen Dank!
Kukulkan
Re: Easy Network Manager [V# 1.0.2][Include]
Verfasst: 14.02.2011 14:33
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
Re: Easy Network Manager [V# 1.0.2][Include]
Verfasst: 15.02.2011 10:10
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
Re: Easy Network Manager [V# 1.0.3][Include]
Verfasst: 15.02.2011 10:18
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.
Re: Easy Network Manager [V# 1.0.3][Include]
Verfasst: 15.02.2011 10:22
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