Прежде всего, я готов отредактировать заголовок, если он звучит слишком неразборчиво.
Я хочу отправлять команды через сокеты на сервер.Исходный код для создания соединения с сокетом в php:
$HOST = 'xx.xx.xx.xx';
$PORT = 21567;
$BUFSIZE = 1024;
set_time_limit(0);
$tcpSocket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Could not create socket\n");
$tcpSocketCon = socket_connect($tcpSocket, $HOST, $PORT) or die ("Could not connect to server\n");
$speed = 30;
$tmp = 'speed';
$data = $tmp.$speed;
socket_write($tcpSocket, $data, strlen($data)) or die ("Could not send speed data to server\n");
Если я попытаюсь отправить команду в сокет, например «Вперед», я получу вывод на печать
...
speed30Forward
...
Даже если я добавлю "\ r \ n" в мою функцию socket_write (), новый вывод будет
...
speed30
Forward
...
, но я не получу ответ от сервера.
Я исправил этопроблема с закрытием и повторным подключением сокета следующим образом:
$HOST = 'xx.xx.xx.xx';
$PORT = 21567;
$BUFSIZE = 1024;
set_time_limit(0);
$tcpSocket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Could not create socket\n");
$tcpSocketCon = socket_connect($tcpSocket, $HOST, $PORT) or die ("Could not connect to server\n");
$speed = 30;
$tmp = 'speed';
$data = $tmp.$speed;
socket_write($tcpSocket, $data, strlen($data)) or die ("Could not send speed data to server\n");
//added closing and reconnecting socket
socket_close($tcpSocket);
$tcpSocket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Could not create socket\n");
$tcpSocketCon = socket_connect($tcpSocket, $HOST, $PORT) or die ("Could not connect to server\n");
Есть ли альтернатива для отправки команд на сокеты отдельно?
Я пишу приложение веб-сервера для связи с SunfounderСмарт Видео Автомобиль для Raspberry Pi.Я могу перемещать колеса и камеру, но движение автомобиля невозможно.
Мне нужно отправить скорость, прежде чем я смогу отправить команды «Вперед» и «Назад» для управления автомобилем.