我正在尝试将数据从我的简单 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
最佳答案
您正在发送 ascii 并期望二进制。 http://www.ascii.cl/ ascii 48 0
ascii 49 1
我自己没有做过,所以不清楚细节。但是您可能需要使用 pack()
关于php - 使用 tcp 套接字将数据从 php 发送到 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24767283/