Hallo , gute Tag.
Wie kann man bitte dieses in Purebasic umwandeln.
Der String soll dann über den Client versendet werden:
Die 4 Byte sind : 45 67 89 34 , dahinter noch die Länge 4 .
n = len(cmd)
a = array('c')
a.append(chr((n >> 24) & 0xFF))
a.append(chr((n >> 16) & 0xFF))
a.append(chr((n >> 8 ) & 0xFF))
a.append(chr(n & 0xFF))
scratchSock.send(a.tostring() + cmd)
Danke.
Gruss
4 Byte + Länge in einem String packen für Client .
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Re: 4 Byte + Länge in einem String packen für Client .
Ich kann nicht so recht nachvollziehen was du damit meinst: Die 4 Byte sind : 45 67 89 34 , dahinter noch die Länge 4 .
Der Code wäre 1:1 Umgesetzt meiner Meinung nach das:
Das dürfte aber zu Problemen führen, da eine 0, die in den ersten Bytes recht oft vorkommen dürfte ja signalisiert das der String abgeschlossen ist.
Du willst daher vermutlich eher das:
LG KeyKon
Der Code wäre 1:1 Umgesetzt meiner Meinung nach das:
Code: Alles auswählen
n = Len(cmd.s)
sendString.s = ""
sendString + Chr((n >> 24) & $FF)
sendString + Chr((n >> 16) & $FF)
sendString + Chr((n >> 8 ) & $FF)
sendString + Chr(n & $FF)
sendString + cmd
Du willst daher vermutlich eher das:
Code: Alles auswählen
n = Len(cmd.s)
*sendData = AllocateMemory(4+n)
PokeL(*sendData ,n)
PokeS(*sendData+4,cmd)
(\/) (°,,,°) (\/)
Re: 4 Byte + Länge in einem String packen für Client .
Jup, danke für die Hilfe.
Gruss
Gruss