У меня нет соединения Websocket между клиентским скриптом и сервером.
Он отлично работает в моей местной среде.
Также я перехожу по этой ссылке .
Вот серверный скрипт, который инициализирует сервер websocket и прослушивает клиентское соединение с 8080
портом.
public function run()
{
$loop = Factory::create();
$pusher = new Pusher;
$context = new Context($loop);
$pull = $context->getSocket(ZMQ::SOCKET_PULL);
$pull->bind('tcp://127.0.0.1:5555'); // Binding to 127.0.0.1 means the only client that can connect is itself
$pull->on('message', array($pusher, 'onBlogEntry'));
// Set up our WebSocket server for clients wanting real-time updates
$webSock = new Server('0.0.0.0:8080', $loop); // Binding to 0.0.0.0 means remotes can connect
$webServer = new IoServer(
new HttpServer(
new WsServer(
new WampServer(
$pusher
)
)
),
$webSock
);
$loop->run();
А вот клиентский скрипт:
var conn = new ab.Session('ws://localhost:8080',
function() {
/* subscribe to following topics */
conn.subscribe('new_order', function(topic, data) ..
Опять же, это работает нормально в локальной настройке.
Также следует отметить, что мое приложение размещается с использованием указанного порта из контейнера Docker.
http://192.168.12.52:8094/xyz/new/....
Я также попытался указать IP в клиентском скрипте:
var conn = new ab.Session('ws://192.168.12.52:8080',
function() {
/* subscribe to following topics */
conn.subscribe('new_order', function(topic, data) ...
В этом случае я получаю следующую ошибку:
WebSocket connection to 'ws://192.168.11.32:8080/' failed: Error during WebSocket handshake: Unexpected response code: 403
Чего здесь не хватает?