нужно сделать обновление данных на странице, которые подтягиваются с сокета и что бы обновление данных было раз в 1с
а еще лучше что бы раз в 20мс Использую Laravel в этом деле Код сокета
public function index()
{
error_reporting(E_ALL ^ E_WARNING);
set_time_limit(0);
ob_implicit_flush();
date_default_timezone_set('Asia/Krasnoyarsk');
$address = '....';
$port = ....;
try {
echo 'Создание сокета ... ';
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
throw new Exception('socket_create() failed: '.socket_strerror(socket_last_error())."\n");
} else {
echo "выполнено.\n";
}
echo 'Соединение с сокетом ... ';
$result = socket_connect($socket, $address, $port);
if ($result === false) {
throw new Exception('socket_connect() failed: '.socket_strerror(socket_last_error())."\n");
} else {
$connect = "Установлено";
}
echo 'Отправка данных: ';
$byteOut = socket_send($socket, chr(15), 1, 0);
if ($byteOut === false) {
echo " Ошибка.";
throw new Exception('socket_send() failed: '.socket_strerror(socket_last_error())."\n");
} else {
echo "отправлено ".$byteOut." байт.\n";
}
echo 'Приём данных: ';
$byte = socket_recv($socket, $in, 898, 0);
if ($byte === false) {
echo " Ошибка.";
throw new Exception('socket_recv() failed: '.socket_strerror(socket_last_error())."\n");
} else {
//переменные которые вытаскиваются с сокета
$id1 = unpack("S*", substr($in, 0, 34));
$id42 = unpack("S*", substr($in, 226, 2));
$id45 = unpack("S*", substr($in, 244, 2));
$id48 = unpack("S*", substr($in, 262, 2));
$id51 = unpack("S*", substr($in, 280, 6));
$id57 = unpack("S*", substr($in, 310, 8));
$id65 = unpack("S*", substr($in, 350, 8));
$id74 = unpack("S*", substr($in, 398, 10));
}
catch (Exception $e) {
echo "\nError: ".$e->getMessage();
}
if (isset($socket)) {
echo 'Close socket ... ';
socket_close($socket);
echo "OK\n";
}
}
}
html
<p class="m-1 quantity-details" >
<span>{{ $id42[1] }}</span>
</p>