rowset-definition
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| rowset-definition [2026/02/26 12:44] – [Раздел autoexec] madmin | rowset-definition [2026/04/27 17:35] (текущий) – [Описание полей источника данных] madmin | ||
|---|---|---|---|
| Строка 58: | Строка 58: | ||
| url="< | url="< | ||
| ignoreerror=" | ignoreerror=" | ||
| + | pingtimeout="< | ||
| > | > | ||
| <param name="< | <param name="< | ||
| Строка 123: | Строка 124: | ||
| (name|field)="< | (name|field)="< | ||
| enabled=" | enabled=" | ||
| - | type=" | + | type=" |
| list=" | list=" | ||
| listfield="< | listfield="< | ||
| Строка 146: | Строка 147: | ||
| dec="< | dec="< | ||
| hidezero=" | hidezero=" | ||
| + | numsep=" | ||
| stretch=" | stretch=" | ||
| refid="< | refid="< | ||
| Строка 246: | Строка 248: | ||
| * **num** – число в LSS формате | * **num** – число в LSS формате | ||
| * **date** – дата в LSS формате | * **date** – дата в LSS формате | ||
| + | * **datetime** – дата и время в LSS формате. Если параметр dec=0 или не задан, то с точностью до минут. Если dec=1, то с точностью до секунд. Если dec=2, то с точностью до милисекунд. | ||
| * **check** – логическое значение в LSS формате | * **check** – логическое значение в LSS формате | ||
| Строка 264: | Строка 267: | ||
| Атрибут **save**=" | Атрибут **save**=" | ||
| + | === Особенности поля memo === | ||
| + | * **rows** - высота экранного элемента в строках, | ||
| + | * **maxrows** - ??? | ||
| + | * **enter** = 0|1 - обработка клавиши Enter как перенос строки, | ||
| + | === Особенности поля num === | ||
| + | * **len** - общее кол-во знаков | ||
| + | * **dec** - кол-во знаков после запятой | ||
| + | * **hidezero** = 0|1 - нулевые значения отображать как пробел (пусто) | ||
| + | * **numsep** = 0|1 - отображать с разделителем между тысячами (тройками цифр) для наглядности | ||
| + | === Особенности поля datetime === | ||
| + | * **dec** - точность хранения времени | ||
| + | * 0: часы: | ||
| + | * 1: часы: | ||
| + | * 2: часы: | ||
| ==== Раздел autoexec ==== | ==== Раздел autoexec ==== | ||
| Этот раздел позволяет периодически вызывать указанный в разделе запрос | Этот раздел позволяет периодически вызывать указанный в разделе запрос | ||
| Строка 375: | Строка 391: | ||
| === mode=socket === | === mode=socket === | ||
| В этом режиме запрос вызывается по указанию сервера, | В этом режиме запрос вызывается по указанию сервера, | ||
| - | Для реализации такого способа необходим сервер, | + | Для реализации такого способа необходим сервер, |
| - | Клиент создает и держит с сервером продолжительное, | ||
| < | < | ||
| < | < | ||
| enabled=" | enabled=" | ||
| request="< | request="< | ||
| - | mode="polling" | + | mode="socket" |
| - | | + | |
| - | | + | |
| ignoreerror=" | ignoreerror=" | ||
| > | > | ||
| Строка 392: | Строка 407: | ||
| </ | </ | ||
| </ | </ | ||
| - | * url - http адрес | + | * url - адрес |
| - | * timeout | + | * pingtimeout |
| * параметры param - добавляются в url polling запроса | * параметры param - добавляются в url polling запроса | ||
| + | Пример реализации WebSocket сервера на Ratchet | ||
| + | < | ||
| + | <?php | ||
| + | require_once(' | ||
| + | $path=pathRootConcat( | ||
| + | getCfg(' | ||
| + | ' | ||
| + | ' | ||
| + | ); | ||
| + | require_once($path); | ||
| + | |||
| + | use Ratchet\MessageComponentInterface; | ||
| + | use Ratchet\ConnectionInterface; | ||
| + | use Ratchet\Http\HttpServer; | ||
| + | use Ratchet\WebSocket\WsServer; | ||
| + | use Ratchet\Server\IoServer; | ||
| + | use React\EventLoop\Factory; | ||
| + | |||
| + | class MyServer implements MessageComponentInterface { | ||
| + | protected $clients; | ||
| + | |||
| + | public function __construct() { | ||
| + | $this-> | ||
| + | } | ||
| + | |||
| + | public function onOpen(ConnectionInterface $conn) { | ||
| + | $queryString = $conn-> | ||
| + | parse_str($queryString, | ||
| + | $conn-> | ||
| + | $this-> | ||
| + | echo '- open' | ||
| + | } | ||
| + | |||
| + | public function onClose(ConnectionInterface $conn) { | ||
| + | $this-> | ||
| + | echo '- close' | ||
| + | } | ||
| + | |||
| + | public function onMessage(ConnectionInterface $from, $msg) { | ||
| + | if ($msg==' | ||
| + | $from-> | ||
| + | echo '- ping - pong' | ||
| + | } | ||
| + | } | ||
| + | |||
| + | public function onError(ConnectionInterface $conn, \Exception $e) { | ||
| + | $conn-> | ||
| + | echo '- error' | ||
| + | } | ||
| + | |||
| + | public function broadcast($msg) { | ||
| + | echo '- отправка сообщений всем пользователям' | ||
| + | foreach ($this-> | ||
| + | $client-> | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | $loop = Factory:: | ||
| + | $serverComponent = new MyServer(); | ||
| + | |||
| + | $loop-> | ||
| + | $serverComponent-> | ||
| + | }); | ||
| + | |||
| + | $webSock = new React\Socket\Server(' | ||
| + | |||
| + | $server = new Ratchet\Server\IoServer( | ||
| + | new HttpServer( | ||
| + | new WsServer($serverComponent) | ||
| + | ), | ||
| + | $webSock, | ||
| + | $loop | ||
| + | ); | ||
| + | |||
| + | echo " | ||
| + | $loop-> | ||
| + | </ | ||
rowset-definition.1772099045.txt.gz · Последнее изменение: 2026/02/26 12:44 — madmin
