我們服務(wù)器的ip是58.211.6.178,內(nèi)網(wǎng)也打通了,ip是192.168.0.178
服務(wù)器由于托管在機(jī)房,有防火墻。
我叫機(jī)房把9090、90、2345、2346、2347等端口都開放了。
php中 gateway 進(jìn)程,用了9090端口
$gateway = new Gateway("Websocket://0.0.0.0:9090");
服務(wù)注冊地址,用了90端口
$register = new Register('text://0.0.0.0:90');
內(nèi)部通訊起始端口,這個不明白是什么意思,默認(rèn)給了2345,因?yàn)槲业亩丝?345是連續(xù)的
html5頁面中,申明的時候,用localhost是無法握手的,但是用真實(shí)ip可以
var socket = new WebSocket('ws://localhost:9090');
//無法連 failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
var socket = new WebSocket('ws://127.0.0.1:9090');
//無法連 failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
//var socket = new WebSocket('ws://0.0.0.0:9090');
//無法連
var socket = new WebSocket('ws://58.211.6.178:9090');
//可以連
//var socket = new WebSocket('ws://192.168.0.178:9090');
//無法連 failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT
現(xiàn)在我在想為什么127.0.0.1和localhost都無法連接。
有可能是防火墻問題,可以臨時關(guān)閉防火墻試下。
還有new Gateway('websocket://0.0.0.0:9090'); 內(nèi)網(wǎng)外網(wǎng)本機(jī)才能都可以連,如果是new Gateway('websocket://58.211.6.178:9090');那么只能通過58.211.6.178去連,其它IP包括localhost 和127.0.0.1都連不了。
start_gateway.php改動后要restart才能生效。
自身的防火墻好關(guān),但是機(jī)房還有硬防。我以為0.0.0.0跟機(jī)房防火墻沒關(guān)系的。那我叫機(jī)房把0.0.0.0也開通一下再試試。