Network - bitte testen

Fragen und Bugreports zur PureBasic 4.0-Beta.
Toshy
Beiträge: 713
Registriert: 22.03.2005 00:29
Computerausstattung: Computer und Strom vorhanden
Wohnort: LK Wolfenbüttel

Network - bitte testen

Beitrag von Toshy »

Hallo.

Code: Alles auswählen

OpenConsole()
init.l = InitNetwork()
Debug init
PrintN("init="+Str(init))
server.l = CreateNetworkServer(#PB_Any,2222,#PB_Network_TCP)
PrintN("server="+Str(server))
For i = 1 To 20
   Debug "i="+Str(i)
   Ergebnis = OpenNetworkConnection("127.0.0.1", 2222 ,#PB_Network_TCP) 
   ;  Ergebnis = OpenNetworkConnection("192.168.1.100", 2222 ,#PB_Network_TCP) 
   Debug Ergebnis
   PrintN("Ergebnis="+Str(Ergebnis))
Next i
While 1
   Delay(1)
Wend
CloseConsole()
Könntet ihr das mal testen, weder unter WinXP noch Win98 kann ich mehr als 5 Verbindungen aufbauen. Es ist auch egal ob ich das übers netzwerk zu einem anderne Rechner versuche. Maximal 5 Verbindungen.

Ist dies einfach ein Limit (kann ich nicht glauben) oder ein Bug?

Gruß
Thorsten
1. Win10
PB6.1
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

1
i=1
13246792
i=2
13246816
i=3
13246840
i=4
13246864
i=5
13246888
i=6
13246912
i=7
13246936
i=8
13246960
i=9
13246984
i=10
13247008
i=11
13247032
i=12
13247056
i=13
13247080
i=14
13247104
i=15
13247128
i=16
13247152
i=17
13247176
i=18
13247200
i=19
13247224
i=20
13247248
WinXP SP2
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Toshy
Beiträge: 713
Registriert: 22.03.2005 00:29
Computerausstattung: Computer und Strom vorhanden
Wohnort: LK Wolfenbüttel

Beitrag von Toshy »

Danke erstmal an Thomas für die Testdatei.
Was mich wundert, das die Exe die bei dir geht bei mir auf beiden unterschiedlichen Rechnern NICHT geht.
Weder auf dem Win98 noch auf dem XP rechner wird eine sechste Verbindung korrekt aufgebaut. Nach der fünften, die noch aufgebaut wird, kommt keine erneute Verbindung zustande.

Hat jemand eine Idee?
[edit]
Ich wüßte zwar nicht wie, aber ich vermutete das meine Systeme nun das PB-Programm einschränken. Daran kann es aber wohl nicht liegen.
Baue ich direkt nach dem OpenNetworkConnection() ein
CloseNetworkConnection(Ergebnis) ein, so wird trotzdem nach dem fünften erfolgreichen Verbindungsaufbau keine neue Verbindung mehr aufgebaut.

Gruß
Toshy
1. Win10
PB6.1
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Vielleicht liegt es am Verbindungslimit von 10, habs bei mir auf 50 erhöht, mit XP-Antispy. Gilt aber nur für XP
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Cadogan
Beiträge: 22
Registriert: 27.05.2005 13:32
Kontaktdaten:

Beitrag von Cadogan »

Also bei mir existiert das gleiche Problem... Ab 5 Verbindungen ist Schluss:

Code: Alles auswählen

1
i=1
10363208
i=2
10363232
i=3
10363256
i=4
10363280
i=5
10363304
i=6
0
i=7
0
i=8
0
i=9
0
i=10
0
i=11
0
i=12
0
i=13
0
i=14
0
i=15
0
i=16
0
i=17
0
i=18
0
i=19
0
i=20
0
Ich benutze XP mit SP1, weitere Daten zu meinem System stehen im Profil.
Toshy
Beiträge: 713
Registriert: 22.03.2005 00:29
Computerausstattung: Computer und Strom vorhanden
Wohnort: LK Wolfenbüttel

Beitrag von Toshy »

Auch schon mal ein Danke an dich. Dann existiert es also nicht nur bei mir, sondern ist nachvollziehbar. Also brauche ich die Fehlersuche nicht groß auf meine 2 Systeme auszuweiten.
Das Problem existiert bei mir nicht nur unter Win98 und Win98 unter PB4, es existiert auch unter PB3.94.
Wäre nett, wenn noch ein paar Leute testen.
1. Win10
PB6.1
Toshy
Beiträge: 713
Registriert: 22.03.2005 00:29
Computerausstattung: Computer und Strom vorhanden
Wohnort: LK Wolfenbüttel

Beitrag von Toshy »

Hi.

Langsam vermute ich, daß hier doch seit langem ein Bug schlummert bzw. eine Eventualität nicht eingeplant wurde. Bitte testet mal fleißig bei wem der Fehler auftritt. Nun mal folgendes:

Code: Alles auswählen

OpenConsole()
init.l = InitNetwork()
Debug init
PrintN("init="+Str(init))
server.l = CreateNetworkServer(#PB_Any,2222)
PrintN("server="+Str(server))
For i = 1 To 20
   Debug "i="+Str(i)
    Ergebnis = OpenNetworkConnection("127.0.0.1", 2222 ,#PB_Network_TCP) 
   Debug "OpenNetworkConnection()="+Str(Ergebnis)
      PrintN("Ergebnis="+Str(Ergebnis))
   Ergebnis = CloseNetworkConnection(Ergebnis)
   Debug "CloseNetworkConnection()="+Str(Ergebnis)
   
   ;Result = NetworkServerEvent() 

Next i
While 1
   Delay(1)
Wend
CloseConsole()
Fügt man nun "NetworkServerEvent()" ein, der Server also überprüft ob was eingegangen ist, das ausgibt und die (vermutlich) interne Eventliste kürzt, so gibt es keine Probleme mit dem Verbindungsaufbau.
Es scheint so zu sein, das intern irgendetwas "gefüllt" ist und alle Verbindungen ablehnt solange dies nicht abgefragt wurde. Da dies bei dieser geringen Menge aber nicht sinnvoll ist und es NICHT bei allen aufritt (ok, bisher nur bei einem User) vermute ich das es ein Bug ist.

Also Leute, seit so nett und wer das lies einfach mal Code testen (mit und ohne "NetworkServerEvent()" und mal sagen was passiert.

Ich teste zwar unter der aktuellen Version PB4beta5, aber da es auch unter 3.94 auftrat können auch diese User testen.

Vielen herzlichen Dank.
Gruß
Thorsten
1. Win10
PB6.1
Benutzeravatar
stbi
Beiträge: 685
Registriert: 31.08.2004 15:39
Wohnort: Cleverly Hills

Beitrag von stbi »

Friedrichs hat geschrieben:Hat jemand eine Idee?
Ja. Wie Thomas bereits sagte, liegt es bei wahrscheinlich am TCP connection limit. Das hat Microsoft bei XP Home auf 5 und bei XP Pro auf 10 gesetzt. Mit XP Antispy kann das hochgesetzt werden, nur über die Registry lässt sich das nicht ändern, da muss eine Datei gepatcht werden.

PS: Wozu das Limit gut ist:
a) damit sich Viren, Würmer etc. weniger schnell verbreiten :allright:
b) damit FileSharing-Software langsamer läuft :mrgreen:
c) damit Microsoft die wesentlich teureren Server-Versionen verkaufen kann :twisted:
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."

Es gibt keine Vista-Witze. Es ist alles wahr!
Toshy
Beiträge: 713
Registriert: 22.03.2005 00:29
Computerausstattung: Computer und Strom vorhanden
Wohnort: LK Wolfenbüttel

Beitrag von Toshy »

Hättest du genauer gelesen, so wäre dir aufgefallen das es daran NICHT liegt, nicht liegen KANN.
Erstens tritt es nicht nur unter XPSp2 auf, auch unter SP1 und ohne SP, es tritt auch unter Windows98 auf, wo es dieses Limit nicht gibt.
Außerdem tritt das Problem auch auf wenn nur EINE einzige Verbinung offen sein soll. Denn wie schon erklärt tritt der Fehler auch auf, wenn man jede Verbindung sofort beendet, damit bleibt maximal eine Verbindung kurzzeitig offen. Und selbst das Starten dieser einen einzigen Verbindung klappt nicht mehr nach dem fünften Trennen.
Wie ich schon erklärt hatte, scheint es an der Serverfunktion zu liegen.

Ich bin mir also recht sicher, das es NICHT an einem Limit des Betriebssystems oder einer Firewall liegt.

[edit]Kann das mal bitte jemand genau übersetzten? Ich verstehe das nur teilweise / ungenügend. Danke
They are a lot more then warppers, because the Windows API implementation of networking works completly different, there no Events are used for example, and recieve is blocking
Zuletzt geändert von Toshy am 03.03.2006 23:50, insgesamt 1-mal geändert.
1. Win10
PB6.1
Benutzeravatar
stbi
Beiträge: 685
Registriert: 31.08.2004 15:39
Wohnort: Cleverly Hills

Beitrag von stbi »

Friedrichs hat geschrieben:Hättest du genauer gelesen ...
Danke. So gewinnt man Freunde ... /:->
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."

Es gibt keine Vista-Witze. Es ist alles wahr!
Gesperrt