使用tcp socket将数据从php发送到c ++

时间:2014-07-15 20:10:19

标签: php c++ sockets

我试图将简单的PHP脚本中的数据发送到c ++程序,thad使用套接字,但我无法正确地重现这些数据。 我简单的PHP脚本:

$motorPort = fsockopen("192.168.2.1", 4444, $errno, $errstr, 30);
fwrite($motorPort, '0100');

sleep(5);

fclose($motorPort);

我的C ++代码:

...
unsigned char buffer[BUFFER_SIZE];
...
ssize_t count = recv(client_handle, &buffer, BUFFER_SIZE, 0);
...
unsigned int cmd;
unsigned long commands_count = count/4;
for(cmd = 0; cmd != commands_count; ++cmd)
{
    printf("Buffer = %d\n", buffer[0]);
    printf("Buffer = %d\n", buffer[1]);
    printf("Buffer = %d\n", buffer[2]);
    printf("Buffer = %d\n", buffer[3]);
}
...

但我明白了: 48 49 48 48 代替: 0 1 0 0

1 个答案:

答案 0 :(得分:1)

您正在发送ascii并期待二进制文件。 http://www.ascii.cl/ ascii 48 0 ascii 49 1

我自己没有这样做,所以我不确定细节。但您可能需要使用pack()