我试图将简单的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
答案 0 :(得分:1)
您正在发送ascii并期待二进制文件。 http://www.ascii.cl/ ascii 48 0
ascii 49 1
我自己没有这样做,所以我不确定细节。但您可能需要使用pack()