Доброго времени суток друзья, хочу подключиться по WebSocket и подписаться на цену монеты в Binаnсе.
Делаю так:
<?php
$sock = stream_socket_client("ssl://stream.binance.com:9443",$error,$errnum,30,STREAM_CLIENT_CONNECT,stream_context_create(null));
if (!$sock) echo "[$errnum] $error" . PHP_EOL;
else {
fwrite($sock, "GET /stream HTTP/1.1\r\n".
"Host: stream.binance.com:9443\r\n".
"Accept: */*\r\n".
"Connection: Upgrade\r\n".
"Upgrade: websocket\r\n".
"Accept-Encoding: deflate\r\n".
"Sec-WebSocket-Version: 13\r\n".
"Sec-WebSocket-Key: ".rand(0,999)."\r\n"."\r\n");
$data='{"method":"SUBSCRIBE","params":["btcusdt@aggTrade","btcusdt@depth"],"id": 1}';
fwrite($sock, $data);
while (false !== ($char = fgetc($sock))) {
echo "$char";
}
}
?>
Но получаю в итоге ошибку Invalid request
HTTP/1.1 101 Switching Protocols Date: Tue, 19 Oct 2021 08:18:09 GMT Connection: upgrade Upgrade: websocket Sec-WebSocket-Accept: y/h04na+I7oqBifOLbclH5mSmDI= ��Invalid request
Подскажите пожалуйста что делаю не так и как правильно подключиться (подписаться) желательно без сторонних библиотек ?
Заранее благодарю за помощь!