Neue Events bei NetworkClientEvent()?

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Neue Events bei NetworkClientEvent()?

Beitrag von RaVeN99 »

Hallöchen zusammen!

Nachdem ich mich in letzter Zeit etwas ausgiebiger mit der Netzwerkprogrammierung unter PB beschäftige ist mir heute etwas doch recht komisches aufgefallen.
Standarmäßig dokumentiert für den Client sind folgende Events:
0 : Nichts ist passiert
2 : Roh-Daten wurden empfangen (können mittels ReceiveNetworkData() gelesen werden)
3 : Eine Datei wurde empfangen (kann mittels ReceiveNetworkFile() gelesen werden)
Heute allerdings ist mir aufgefallen dass PB da anscheinend noch ein weiteres Event ermöglicht:
5 : A string has been received
Davon finde ich allerdings nichts in der Doku - hab ich was verpasst, oder isses "just a undocumented feature"? ;)


Mfg
RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Das ist mir schon vor nen paar monaten aufgefallen, steht halt inner statuszeile
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag von RaVeN99 »

Hast du vielleicht damit schon ein wenig herumexperimentiert?
Bzw weisst du vielleicht ob das ganze auch wirklich die funktion hat die es laut statuszeile haben soll?
Wär nicht unpraktisch ^^


Mfg
RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Team100
Beiträge: 104
Registriert: 13.09.2004 22:59

Beitrag von Team100 »

....in jedem Fall kommt wie in der Anleitung beschrieben als event die 2
wenn ein String oder Daten anliegen. Die 5 müßte also zusätzlich
und nicht anstatt kommen. Gibt es eventuell 2 Events ? (den 2.ten mit 5)

Grundsätzlich wäre zu sagen, daß die Network-Event-Generierung
dynamisch erfolgt und immer den aktuellen Zustand wiedergibt.

Es ist ohne weiteres möglich das Netzwerk mit ReceiveNetworkData auszulesen,
auch ohne den Event abzuwarten. Ist nichts vorhanden,
bekommt man als Ergebnis -1 als Retourwert (was zu erwarten war).

Hat man ohne eine Eventabfrage alle Daten ausgelesen, so gibt der Event,
wenn man ihn nachfolgend ausliest, tatsächlich die 0 zurück.

Die Eventabfrage liefert also immer den aktuellen Zustand des
Netzwerkpuffers. Kann gut sein, daß Event=5 für Strings gedacht
war und das nicht so funktioniert hat .....

Strings senden ist ohnedies problematisch, da man damit rechnen
muß, daß zwei (oder mehr) abgesandte Strings dann als ein
einziger String empfangen werden .....

Generell kommt man um ein Handling-Protokoll bei der
Benutzung von den Network Befehlen nicht herum .... wenn
man sich die Mühe macht und so ein Protokoll schreibt, ist
das Übertragen mit den PB-Network Befehlen aber 100%ig :)

Wäre also wirklich interessant ob die 5 nur bei Strings kommt.
Die 2 muß kommen, sonst würde mein Programm wohl nicht laufen
da ich auf Event=2 abfrage :wink:

Im Moment kann ich es nicht ausprobieren, da der Netzwerksversuchs-
aufbau gerade im Umbau ist, aber demnächst sollte er wieder
bereit sein.

Alles gesagte gilt für XP und PB3.91

Cu von Team100
Kompliziert kann es jeder lösen, aber das wirklich Geniale ist einfach.....
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1754
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Also wenn Ihr noch was exaktes herausfindet, nehme ich es gerne mit in die Hilfe auf (dort war's anscheinend noch nicht drin und wurde ggf. gelöscht - habe dies gerade überprüft). Andernfalls werde ich bei Gelegenheit Fred fragen... :wink:
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag von Lars »

Andre hat geschrieben:Also wenn Ihr noch was exaktes herausfindet
Ich bekomme definitiv keine 5 zurück bei NetworkServerEvent(), auch,
wenn der String via SendNetworkString() gesendet wurde. Ich würde am
ehesten vermuten, dass der Calltip da falsch ist, evtl. hatte Fred da mal
ein Feature geplant oder Ähnliches :)
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Hat wohl etwas mit dem hier zu tun:
http://purebasic.myforums.net/viewtopic ... workstring
Antworten