i have written websocket using ratchet. webserver nginx , lives on raspberry pi. raspberry pi has been connected internet router through port forwarding. when access site @ work, works well. websocket connects, webpages launch. when try access webpage outside of work webpage works except websocket. worst part can't debug because need outside local network websocket fail (i.e not @ work). @ work, can connect server using 2 ip addresses, private ip address accessible locally , public ip address can accessed anywhere. both ip addresses launch websocket. when not @ work, can access webserver on public ip address , websocket not work.
i have been trying make work day , half straight no success. have suggestions? me identify problem?
the websocket code follows ratchet push server tutorial:
<?php require '/var/www/html/vendor/autoload.php'; $loop = react\eventloop\factory::create(); $pusher = new myapp\pusher; $context = new react\zmq\context($loop); $pull->bind('tcp://127.0.0.1:5555'); $pull->on('message',array($pusher, 'onblogentry')); $websock = new react\socket\server($loop); $websock->listen(443, '0.0.0.0'); $webserver = new ratchet\server\ioserver( new ratchet\http\httpserver( new ratchet\websocket\wsserver( new ratchet\wamp\wampserver( $pusher ) ) ), $websock ); $loop->run(); ?>
the client side code is:
var conn = new ab.session('ws://privateipaddress:443', function (){ console.log("here"); conn.subscribe('client',function(topic,data) { console.log("hey"); ... }); }, function() { console.warn('websocket connection closed'); }, {'skipsubprotocolcheck': true} );
i suspect issue security setting since both public , private ip addresses work when @ work site.
Comments
Post a Comment