公司想要用spark實現語音聊天,可嘗試了很多次,各分公司內的機器就可以語音,跨分公司就會出現Voice chat ended: No Media Received. This may be caused by firewall configuration 的錯誤提示,上網查了很多資料,官網也有很多人有這種情況,都說已經檢查過防火牆了,所以就忽略了防火牆,因爲openfire所須的端口:5222,5223,5229,5269,7070,7443, 7777,9090,9091都已經允許通過了。
後來經一個同事的提醒,想起我只允許了tcp,忽略了udp,果然一試,問題就出在這裏,把udp端口一允許,馬上就可以了。血的教訓啊,搞了一整天,問題竟然是出在了這裏。得出一個結論:不要想理所當然,雖然一般語音不會使用udp連接,但是也有例外。
不過問題雖然解決了,但還是不明白。爲什麼在沒開放udp端口的情況下,同個分公司內的機器就可以。服務器是放在託管公司那裏,按理說都是外網訪問,有什麼不同呢?也不管了,問題解決就好。