Я использую этот код для установки нового соединения на пользовательском устройстве.
var socket = new WebSocket("wss://cdsbxtx2xi.execute-api.us-east-2.amazonaws.com/test");
socket.onmessage = function (event) {
json = JSON.parse(event.data);
connectionId = json.connectionId;
document.cookie = "connection_id="+connectionId;
console.info(json);
}
Предположим, из этого запроса я получаю connectionId CLO5bFP1CYcFSbw =
Другой пользователь с другого устройства также установил новоесоединение с ID соединения Cs42Fs5s5yuSbc =. Теперь, как я могу отправить сообщение с устройства пользователя 2 пользователю 1?
Я уже пробовал это. Я не знаю, верный это путь или нет, но все же я открыт для любых предложений.
use Aws\Signature\SignatureV4;
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;
use Aws\Credentials\Credentials;
$client = new GuzzleHttp\Client();
$credentials = new Credentials("XXXXXXXXXX","XXXXXXXX");
$url = "https://cdsbxtx2xi.execute-api.us-east-2.amazonaws.com/test/@connections/CLO5bFP1CYcFSbw=";
$region = 'us-east-2';
$msg['action'] = 'sendmessage';
$msg['data'] = 'hello world';
$msg = json_encode($msg);
$request = new Request('POST', $url, '["json"=>$msg]');
$s4 = new SignatureV4("execute-api", $region);
$signedrequest = $s4->signRequest($request, $credentials);
$response = $client->send($signedrequest);
echo $response->getBody();
Этот код продолжает загружаться и, наконец, выдает ошибку времени ожидания шлюза.
Я ожидаючто пользователь 2 должен иметь возможность отправлять сообщения на любой конкретный идентификатор соединения через wss или https.
Я попытался использовать https, подписав этот запрос, но подпись не работает. Я получаю сообщение об ошибке с подписью