PHP Blitz3D Bytes Senden

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

TimBo

Betreff: PHP Blitz3D Bytes Senden

BeitragSa, Apr 03, 2010 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich möchte mehrere Bytes als String an einen Webserver schicken.

nunja das sieht dann so aus
Chr(x)+Chr(y)+Chr(z)...

da es aber immer eine unterschiedliche Anzahl von Bytes gibt fasse ich sie als String zusammen.

Wie bekomme ich den String jetzt zum Server ?
Mit Get scheint es nicht zu gehen da " " -> "%20" wird.

Bevor ich jetzt länger rumexperimentiere, geht es mit Post oder ist das auch sinnlos ?

Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

D2006

Administrator

BeitragSa, Apr 03, 2010 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Klar geht das mit Post. Sogar recht einfach. Lass einfach nach deinem Header ne Leerzeile und schreib dann
Zitat:
mystring=blafasel


Wenn du den Inhalt vorher schon in ner Variable hast, schreib in den Header noch eine Zeile:
BlitzBasic: [AUSKLAPPEN]
WriteLine tcpStream, "Content-Length: "+Len(content)


Achte darauf, dass der String URL-encodiert sein muss (aus Leerzeichen zB eben solche %20). Für Binärdaten empfielt sich vorher eine Base64-Kodierung, das sollte dann aufjedenfall klappen.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

TimBo

BeitragSa, Apr 03, 2010 15:52
Antworten mit Zitat
Benutzer-Profile anzeigen
irgendwie kapiere ich das noch nicht ganz. Surprised

Per Post oder Get was zu senden ist ja nicht das Problem.

Ich habe vor so ne Art TreeView an den Server zu senden. Dazu schreibe ich Pfads. Das sieht in etwa so aus:
1
1-1
1-1-1
1-1-2
1-1-3
1-2
...

(damit ich nicht nur Zahlen von 0-9 verwenden kann würde ich gerne den Horizont auf 256 "erweitern"

auf jedenfall frage ich mich , wie ich das Codieren bzw decodieren kann. Und ob php das dann auch wieder zurückumwandeln kann. Gibts in php auch sowas wie ASC ?

Trotzdem Danke für deine Antwort ! Very Happy
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

D2006

Administrator

BeitragSa, Apr 03, 2010 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja gibt's, das heißt da "ord()". Kannst es ja einfach so versuchen, könnte aber schiefgehen. Ich empfehle daher, den String mit den Binärdaten mit Base64 zu enkodieren. Dann musst du es mit PHP vor dem auslesen wieder dekodieren, aber das geht einfach... base64_decode.

Allerdings brauchst du dafür auch eine Kodierungsfunktion für BB. Wird sicher in einem Codearchiv hier oder auf BB.com rumschwirren.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

TimBo

BeitragSa, Apr 03, 2010 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe hier nur diesen Beitrag gefunden
https://www.blitzforum.de/foru...ght=base64

leider nur für BMax.

Edit habe eine Idee
laut wikipedia neme ich immer 6bit und mache daraus eine Zahl zwischen 0 und 63
die wird dann in dem Array
Code: [AUSKLAPPEN]
Function Convert_Base64:Int(in:Int)
   Select in
      Case 0
         Return Asc("A")
      Case 1
         Return Asc("B")
      Case 2
         Return Asc("C")
      Case 3
         Return Asc("D")
      Case 4
         Return Asc("E")
      Case 5
         Return Asc("F")
      Case 6
         Return Asc("G")
      Case 7
         Return Asc("H")
      Case 8
         Return Asc("I")
      Case 9
         Return Asc("J")
      Case 10
         Return Asc("K")
      Case 11
         Return Asc("L")
      Case 12
         Return Asc("M")
      Case 13
         Return Asc("N")
      Case 14
         Return Asc("O")
      Case 15
         Return Asc("P")
      Case 16
         Return Asc("Q")
      Case 17
         Return Asc("R")
      Case 18
         Return Asc("S")
      Case 19
         Return Asc("T")
      Case 20
         Return Asc("U")
      Case 21
         Return Asc("V")
      Case 22
         Return Asc("W")
      Case 23
         Return Asc("X")
      Case 24
         Return Asc("Y")
      Case 25
         Return Asc("Z")
      Case 26
         Return Asc("a")
      Case 27
         Return Asc("b")
      Case 28
         Return Asc("c")
      Case 29
         Return Asc("d")
      Case 30
         Return Asc("e")
      Case 31
         Return Asc("f")
      Case 32
         Return Asc("g")
      Case 33
         Return Asc("h")
      Case 34
         Return Asc("i")
      Case 35
         Return Asc("j")
      Case 36
         Return Asc("k")
      Case 37
         Return Asc("l")
      Case 38
         Return Asc("m")
      Case 39
         Return Asc("n")
      Case 40
         Return Asc("o")
      Case 41
         Return Asc("p")
      Case 42
         Return Asc("q")
      Case 43
         Return Asc("r")
      Case 44
         Return Asc("s")
      Case 45
         Return Asc("t")
      Case 46
         Return Asc("u")
      Case 47
         Return Asc("v")
      Case 48
         Return Asc("w")
      Case 49
         Return Asc("x")
      Case 50
         Return Asc("y")
      Case 51
         Return Asc("z")
      Case 52
         Return Asc("0")
      Case 53
         Return Asc("1")
      Case 54
         Return Asc("2")
      Case 55
         Return Asc("3")
      Case 56
         Return Asc("4")
      Case 57
         Return Asc("5")
      Case 58
         Return Asc("6")
      Case 59
         Return Asc("7")
      Case 60
         Return Asc("8")
      Case 61
         Return Asc("9")
      Case 62
         Return Asc("+")
      Case 63
         Return Asc("/")
      Default
         Throw "Illeagal Number: "+Bin(in)
   EndSelect
EndFunction


umgewandelt.

Muss ich sonst noch was beachten ?

Edit2:
https://www.blitzforum.de/foru...ght=base64
wer sagts denn Smile
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group