Fejl ved sending/modtagelse af data fra Winsock komponent

Tags:    programmering

Goddag. Min ven og jeg er i forbindelse med et projekt på skolen i Visual Basic 6 igang med at programmere et Tegn og gæt spil som fungerer over netværk vha. Winsock komponenter.

Vi har en PictureBox, og så er der en klient der tegner, og vi skulle gerne have overført det som bliver tegnet over til den klient som skal gætte.

Det gør vi via en Winsock komponent hvor vi sender X og Y koordinaterne når der enten klikkes (for at definere hvor tegningen starter) eller når musen bevæges og museknappen er nede (for at sende koordinaterne for hvad brugeren tegner).

Koordinaterne sendes i formatet:
Xkoordinat:Ykoordinat, eksempel: 1234:5678.

Det sker med følgende kode:

Private Sub pctTegning_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
pctTegning.CurrentX = X
pctTegning.CurrentY = Y
sckTegn.SendData X & ":" & Y
End Sub

Private Sub pctTegning_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 And sckTegn.State = 7 Then
pctTegning.Line -(X, Y)
sckTegn.SendData X & ":" & Y
End If
End Sub


Klienten som skal gætte hvad der tegnes modtager nu koordinatsættene med følgende kode:

Private Sub sckTegn_DataArrival(ByVal bytesTotal As Long)
Dim IncomeData As String
Dim Koords
sckTegn.GetData IncomeData
Koords = Split(IncomeData, ":")
X = CSng(Koords(0))
Y = CSng(Koords(1))
pctTegning.Line -(X, Y)
End Sub

----

Problemet består nu i, at IncomeData ved sckTegn_DataArrival bliver "stacked" oven i hindanden, og IncomeData bliver ikke "tømt" hver gang.
For eksempel resulterer IncomeData i at se således ud:
1234:56781234:56781234:56781234:5678, osv...

Det er det vi ikke forstår hvorfor den gør, da den skulle blive clearet hver gang.
Vi har også prøvet at tilføje IncomeData = "" til sidst, for at tømme den.


Jeg håber virkelig at nogen kan hjælpe, har haft dette problem i 3 uger nu, og skal aflevere om 3 uger, så det haster lidt :)

På forhånd mange tak!



t