使用tcp套接字从php发送数据到c++

Send data from php to c++ using tcp socket

本文关键字:数据 c++ php tcp 套接字 使用      更新时间:2023-10-16

我正试图将数据从我的简单php脚本发送到c++程序,它使用套接字,但我无法正确地复制此数据。我的简单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 = %dn", buffer[0]);
    printf("Buffer = %dn", buffer[1]);
    printf("Buffer = %dn", buffer[2]);
    printf("Buffer = %dn", buffer[3]);
}
...

但是我得到:48494848而不是:0100

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

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