Hey,
Ik heb een programma genaamd "AGW Packet Engine".
Hiermee kan ik met behulp van de microfoon poort een FM scanner uitlezen.
Dit programma kan de data van de FM scanner dan weer doorsturen via TCP/IP.
Nu wil ik deze data met een PHP scriptje uitlezen.
Hiervoor moet ik verbinding maken met localhost op poort 8000 en dan een "m" frame sturen (een aanvraag om alle FM data te ontvangen)
Nu moet dat in het volgende formaat:
[port][DataKind][CallFrom][CallTo ][DataLen][USER]
4bytes 4bytes 10bytes 10bytes 4bytes 4bytes
waar geld
port=0
DataKind=m
CallFrom=0
CallTo=0
DataLen=0
USER=0
Het probleem is dat php alleen maar strings naar een socket kan schrijven.
Nu is mijn vraag:
Hoe schrijf ik het juiste formaat naar de socket in php?
Ik heb het volgende al geprobeert:
maar PHP blijft dan gewoon hangen bij socket_read wat dus aangeeft dat AGW Packet Engine dus niks terugstuurt.
Ik heb een programma genaamd "AGW Packet Engine".
Hiermee kan ik met behulp van de microfoon poort een FM scanner uitlezen.
Dit programma kan de data van de FM scanner dan weer doorsturen via TCP/IP.
Nu wil ik deze data met een PHP scriptje uitlezen.
Hiervoor moet ik verbinding maken met localhost op poort 8000 en dan een "m" frame sturen (een aanvraag om alle FM data te ontvangen)
Nu moet dat in het volgende formaat:
[port][DataKind][CallFrom][CallTo ][DataLen][USER]
4bytes 4bytes 10bytes 10bytes 4bytes 4bytes
waar geld
port=0
DataKind=m
CallFrom=0
CallTo=0
DataLen=0
USER=0
Het probleem is dat php alleen maar strings naar een socket kan schrijven.
Nu is mijn vraag:
Hoe schrijf ik het juiste formaat naar de socket in php?
Ik heb het volgende al geprobeert:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| <?php $fp = socket_create(AF_INET,SOCK_STREAM,SOL_TCP); socket_connect($fp, "127.0.0.1", 8000); $string = 0x00; $string.=0x00; $string.=0x00; $string.=0x00; $string.="m"; $i=0; while($i<20) { $string.=0x00; $i++; } $string.=0x00;$string.=0x00;$string.=0x00;$string.=0x00; $string.=0x00;$string.=0x00;$string.=0x00;$string.=0x00; socket_write($fp,$string); echo socket_read($fp, 128); socket_close($fp); ?> |
maar PHP blijft dan gewoon hangen bij socket_read wat dus aangeeft dat AGW Packet Engine dus niks terugstuurt.