PHP AMP Websocket: указание произвольных заголовков при рукопожатии
Задача: добавить произвольный заголовок клиенту при рукопожатии с сервером. Например Sec-WebSocket-Protocol
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
use Amp\Delayed; use Amp\Websocket\Client\Connection; use Amp\Websocket\Client\Handshake; use Amp\Websocket\Message; use function Amp\Websocket\Client\connect; use Amp\Socket\ClientTlsContext; use Amp\Socket\ConnectContext; Amp\Loop::run(function () use ($wss_url,$ip,$port,$pascket,&$answer,$wait_reseive) { $tlsc=new ClientTlsContext(""); $tlw=$tlsc->withoutPeerVerification(); $connectContext = (new ConnectContext)->withTlsContext($tlw); $handshake = (new Handshake("ws://1.18.24.70:$port/virtual_api_1c"))->withHeader('Sec-WebSocket-Protocol', 'virtual'); $connection = yield connect($handshake,$connectContext); yield $connection->send($pascket); yield $connection->close(); }); |