CreateNetworkServer() nicht Threadsicher! / Bug?

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Toshy
Beiträge: 713
Registriert: 22.03.2005 00:29
Computerausstattung: Computer und Strom vorhanden
Wohnort: LK Wolfenbüttel

CreateNetworkServer() nicht Threadsicher! / Bug?

Beitrag von Toshy »

Hallo.
Noch konnte ich keinen nachvollziehbaren Code erstellen, bin noch nicht dazugekommen und meinen Code kann ich hier nicht komplett reinkopieren. ich versuche das aber noch nachzuliefern.

Zum Problem:
Das erstellen von mehreren Servern bringt kein Problem, auch nicht wenn schon Verbindungen offen sind. Was aber nicht klappt ist nachträglich einen Server zu erstellen, wenn die Netzwerkabfragen in einem extra Thread laufen. CreateNetworkServer() bleibt dann einfach hängen.

Na da habe ich es doch noch geschafft(getestet unter Win98 und XP, PB4b6):

Code: Alles auswählen

OpenConsole()
InitNetwork()
s1.l = CreateNetworkServer(#PB_Any, 2222 )
PrintN("s1="+Str(s1))

Procedure net(p.l)
   PrintN("go")
   Repeat
      NetworkServerEvent.b = NetworkServerEvent() 
      If NetworkServerEvent > 0
         ServerId.l = EventServer()
         ClientID.l = EventClient()
        
         PrintN("ClientID="+Str(ClientID))
      EndIf
   Until 0
   PrintN("Error")
EndProcedure
CreateThread(@net(),0)

Delay(3000)
cid.l = OpenNetworkConnection("127.0.0.1",2222)
cid.l = OpenNetworkConnection("127.0.0.1",2222)
cid.l = OpenNetworkConnection("127.0.0.1",2222)
;PrintN("cid="+Str(cid))

PrintN("Erstelle 2. Server")
s2.l = CreateNetworkServer(#PB_Any, 2223 )
PrintN("geht doch")
PrintN("s2="+Str(s2))


Delay(1000*30)
CloseConsole()
[edit]
Dank HeX0R ist mir was aufgefallen.
Der Fehler tritt auf wenn man in den Projekteinstellungen folgendes aktiviert hat:

Thread safe executable

Gruß Toshy
Zuletzt geändert von Toshy am 17.03.2006 12:49, insgesamt 2-mal geändert.
1. Win10
PB6.1
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Bei mir hier im G'schäft (Win98) bleibt da nix hängen
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: CreateNetworkServer() nicht Threadsicher! / Bug?

Beitrag von HeX0R »

Toshy hat geschrieben: Der Fehler tritt auf wenn man in den Projekteinstellungen folgendes aktiviert hat:
Thread safe executable
Bestätigt!
Ich glaube dieser Punkt ist eh noch nicht ausgereift.
Hatte die Option mal spasseshalber angemacht und irgendein beliebiges Projekt von mir kompiliert, was dann einen Invalid Memory Error zur Folge hatte.
Da ich aber vermutlich ohne diese Funktion auskommen werde (mitlerweile hab ich mir eh angewöhnt keine Strings in Threads zu verwenden, ein threadsicherer Befehlssatz ist für mich also genug), war mir das wieder entfallen ;) .
Nik
Beiträge: 132
Registriert: 04.02.2005 19:57

Beitrag von Nik »

Ok habs im englischen Forum gepostet
www.KoMaNi.de
Eine kleine Gruppe von Hobby Programmierern, die gerade einen Instant Messenger natürlich in PureBasic schreiben.
Toshy
Beiträge: 713
Registriert: 22.03.2005 00:29
Computerausstattung: Computer und Strom vorhanden
Wohnort: LK Wolfenbüttel

Beitrag von Toshy »

Danke.
Gruß
Toshy
1. Win10
PB6.1
Antworten