Ok,.. ik heb een chat geschreven in VB.. helemaal complete
alleen nu error hunting... en ik kwam op het volgende :
Ik stuur een private bericht, van ene client naar andere,
daarmee word variable M_PrivateUser (de "to" user) op de naam
gezet van degene die je hebt aangeklikt.. je typt text in
en hij stuurt dit naar de server :
Winsock.SendData "MSGPRIV" & vbNullChar & txtNickname.text & VbNullChar & M_PrivateUser & VbNullChar & txtTypeText.text
"MSGPRIV"=stringetje zodat server weet dat het priv is, en word er gewoon afgehaald alstie binnekomt op de client waar die voor bestemd is.
VbNullChar ertussen om de string te splitten op de client voor wie het bestemd is.
TxtNickname.text = degene die het stuurd
M_PrivateUser = persoon voor wie die bestemd is
txtTypetext=de text die geschreven word
ok,.. als ik dit stuur dan gaat alles goed..
Stuur ik een bericht van de andere client TERUG naar deze client... gaat ook nog gewoon goed... TOT ik daarna met de 1e client(die begon met het private gesprek) weer terug stuur. Dan stuurtie naar zichzelf...
Hoe komt dat nou?
Dat zal ik je vertellen...
Stel Client1..(met nickname X) stuurt naar client2(met nickname Y) een prive bericht "blaaat".. dan krijg je dit :
Winsock.SendData "MSGPRIV" & vbNullChar & X & VbNullChar & Y & VbNullChar & "blaaat"
Dat word ontvangen bij Y.. en M_PrivateUser = Y (ook op client2 op dat moment omdat het nu daar binnenkomt.. dus het is een deelstring om het zo maar te zeggen.. de ene keer is het TOuser en anderekeer FROMuser) hij schrijft dit netjes in de textbox en alles gaat goed.
Dan stuurd client Y wat terug.. maar om prive te sturen, moettie eerst X aanklikken. (Dan word de M_PrivateUser bepaald.. namelijk : X) hij stuurt terug... net als hierboven, en alles gaat goed!
Daarna krijgt X het weer binnen... wat gewoon goed gaat... en stuurt weer wat terug... op DAT moment... is M_PrivateUser nog steeds X.. namelijk omdat hij niet meer op Y klikt om private te sturen, want die staat reeds aangeklikt... maar M_PrivateUser blijft dus op X staan, en daardoor stuurd hij het bericht naar zichzelf... wat niet hoort.
Wat zou de beste oplossing hiervoor zijn?
Gewoon een M_PrivateTo en een M_PrivateFrom te gebruiken?
of hebben jullie andere ideeen?
DBV
Dank voor het lezen
-Krueger
alleen nu error hunting... en ik kwam op het volgende :
Ik stuur een private bericht, van ene client naar andere,
daarmee word variable M_PrivateUser (de "to" user) op de naam
gezet van degene die je hebt aangeklikt.. je typt text in
en hij stuurt dit naar de server :
Winsock.SendData "MSGPRIV" & vbNullChar & txtNickname.text & VbNullChar & M_PrivateUser & VbNullChar & txtTypeText.text
"MSGPRIV"=stringetje zodat server weet dat het priv is, en word er gewoon afgehaald alstie binnekomt op de client waar die voor bestemd is.
VbNullChar ertussen om de string te splitten op de client voor wie het bestemd is.
TxtNickname.text = degene die het stuurd
M_PrivateUser = persoon voor wie die bestemd is
txtTypetext=de text die geschreven word
ok,.. als ik dit stuur dan gaat alles goed..
Stuur ik een bericht van de andere client TERUG naar deze client... gaat ook nog gewoon goed... TOT ik daarna met de 1e client(die begon met het private gesprek) weer terug stuur. Dan stuurtie naar zichzelf...
Hoe komt dat nou?
Dat zal ik je vertellen...
Stel Client1..(met nickname X) stuurt naar client2(met nickname Y) een prive bericht "blaaat".. dan krijg je dit :
Winsock.SendData "MSGPRIV" & vbNullChar & X & VbNullChar & Y & VbNullChar & "blaaat"
Dat word ontvangen bij Y.. en M_PrivateUser = Y (ook op client2 op dat moment omdat het nu daar binnenkomt.. dus het is een deelstring om het zo maar te zeggen.. de ene keer is het TOuser en anderekeer FROMuser) hij schrijft dit netjes in de textbox en alles gaat goed.
Dan stuurd client Y wat terug.. maar om prive te sturen, moettie eerst X aanklikken. (Dan word de M_PrivateUser bepaald.. namelijk : X) hij stuurt terug... net als hierboven, en alles gaat goed!
Daarna krijgt X het weer binnen... wat gewoon goed gaat... en stuurt weer wat terug... op DAT moment... is M_PrivateUser nog steeds X.. namelijk omdat hij niet meer op Y klikt om private te sturen, want die staat reeds aangeklikt... maar M_PrivateUser blijft dus op X staan, en daardoor stuurd hij het bericht naar zichzelf... wat niet hoort.
Wat zou de beste oplossing hiervoor zijn?
Gewoon een M_PrivateTo en een M_PrivateFrom te gebruiken?
of hebben jullie andere ideeen?
DBV
Dank voor het lezen
-Krueger