VB6 Winsock - Data kommer i én besked ??

Tags:    visual-basic

Hejsa.

Jeg er ved at lave en MSN klient, og det går også fint, men når jeg skal modtage data på nogle punkter går det galt... for example når jeg vil modtage kontaktpersoner, så sender serveren denne linje for hver kontaktperson.

LST nogen@hotmail.com deres_navn X\\r\\n

X = et tal, som angiver den gruppe de er i.

Jeg modtager dataen fint, men problemet er at hvis der er mere end 1 kontaktperson så modtager jeg det hele i en pærevælling!

Lad os sige der er 5 kontaktpersoner, så modtager jeg det sådan her.

besked 1: LST nogen@hotmail.com deres_navn X\\r\\n
besked 2: LST nogen@hotmail.com deres_navn X\\r\\nLST nogen@hotmail.com deres_navn X\\r\\nLST nogen@hotmail.com deres_navn X\\r\\nLST nogen@hotmail.com deres_navn X\\r\\n

Er det ikke muligt at få winsock til at GetData, en besked ad gangen?



6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Hey Morten,
jeg tør ikke lige sige om man kan vælge det for det komponent du bruger i VB kan vælges til at man kører til \\r\\n.

Men!
Frygt ej, der er en løsning ;)
Da alle kontakter afsluttes med \\r\\n kan du bruge dette til at køre din streng igennem og finde hvor kontakten afsluttes.

Det er efterhånden 4-5 år siden jeg seriøst legede med VB og da jeg PT befinder mig hos min kæreste vil jeg nødig prøve at frembringe noget kode.

Men filosofien er bare at bruge en funktion til at finde efter hvor mange karakterer "\\r\\n" er.

Når du har gjort dette kan du så kopiere karaktererne over i en variabel og slette dem fra strengen og så gå videre til den næste :)

Håber du forstår :)



Ang. Blå rød og grøn..

Prøv følgende:
Winsock.SendData "BLÅ" & VbNewline
Winsock.SendData "RØD" & VbNewline
Winsock.SendData "GRØN" & VbNewline

Det skulle gerne gøre det, den gør det at den sender
BLÅ
RØD
GRØN

altså
BLÅ
nylinje RØD
nylinje GRØN



Hey tak for svaret.

Jeg var lige gået i gang med det du foreslog lige før jeg gik ind og læste dit svar.

Jeg forsøger lige at lave noget, lige nu brokker den sig med en fejl 9 - Subscript out of range..

Men jeg ser lige om jeg kan få det til at virke!



Do'h!

Fandt ud af at det var fordi jeg havde sat () efter variabel navnet

Fold kodeboks ind/udKode 


(arbejder lidt mere med det)



hehe, sådan kan det jo gå :)



Det virkede... sådan da...

Men det kunne være dejligt hvis der var en mulighed for at få winsock til selv at opdele dataen der bliver modtaget, så det bliver

Besked 1: BLÅ
Besked 2: RØD
Besked 3: GRØN

I stedet for at det kommer ind som

Besked 1: BLÅRØDGRØN

Altså nu er det sådan her:

Send:
Fold kodeboks ind/udKode 


Modtag:
Fold kodeboks ind/udKode 


(OBS: Det skal lige siges at dette kun sker når der sendes flere data på samme tid!)

Det skulle gerne give

Send:
Fold kodeboks ind/udKode 


Modtag:
Fold kodeboks ind/udKode 


På forhånd tak!



Indlæg senest redigeret d. 30.05.2007 20:07 af Bruger #1927
t