Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: winsock + tietue

hohoo [15.04.2005 21:51:54]

#

Miten pystyy hakemaan winsockilla tietuemuotoista tietoa?

Public Const PLAYERNAME_CHARS = 24

Public Type REFRESH_MSG
sName(1 To 32) As String * PLAYERNAME_CHARS
Team(1 To 32) As Byte
Kills(1 To 32) As Long
Deaths(1 To 32) As Long
Ping(1 To 32) As Byte
Number(1 To 32) As Byte
IP(1 To 32, 1 To 4) As Byte
TeamScore(1 To 4) As Long
MapName As String * 16
TimeLimit As Long
CurrentTime As Long
KillLimit As Long
GameStyle As Byte
End Type

Tommoinen tietue.

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim data As REFRESH_MSG
Winsock.GetData data
End Sub

ei toimi

Gaxx [15.04.2005 22:10:42]

#

Sun täytyy tehä omat funktiot, jotka muuttaa ton tietueen stringiks ja toisin päin.

Toinen, helpompi, ratkaisu on, että tallennat tietueen PUTilla tiedostoon, luet sen sieltä stringiksi ja lähetät sen. Sitten vain toisessa päässä luet sen stringiin, tallennat tiedostoon ja luet sen tuohon REFRESH_MSG tyyppiseen muuttujaan Getillä.

Ja tiedostoja pitää vissiinkin käsitellä binaryna eli:
open "tiedosto.dat" for binary as #1

En tosin tiedä kuinka suositeltava tapa tuo jälkimmäinen sitten on ohjelmointi tapoja katsoen...

Jos joku tietää vielä paremman tavan, kertokoon.

sooda [15.04.2005 22:31:47]

#

Tai sitte miettii ton tietueen koon, tekee sen kokoisen stringin ja CopyMemory-winapilla tunkee tietueen tiadot sinne. Ei tartte filuilla sitten leikkiä.

hohoo [05.05.2005 14:04:45]

#

Koko VB ide sulkeutui kun yritin käyttää CopyMemoryä.
Esimerkkejä?

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta