本人一貫風格,先懷疑,在測試。
在前面的一片文章中:
https://blog.csdn.net/zhangkai19890929/article/details/100031823
因爲是服務器先發送的RTP數據包,但是我很好奇的是,服務器因爲是主動發的RTP包,由於防火牆的緣故,服務器主動發送的RTP包到底是怎麼到達播放端的呢?
爲此我做了兩組實驗:
第一組實驗,防火牆對網絡應用程序的影響.
工具 NetAssist.exe.
兩臺電腦
A電腦 192.168.1.104 B電腦:192.168.1.102
B電腦開防火牆,作爲TCP SERVER:
開啓防火牆後,A電腦直接TCP Connect無法連接上B電腦.
關閉防火牆後,數據收發正常.
UDP也是一樣的.
得出結論 :
本機的應用程序必須經過防火牆的允許,才能監聽相應的端口,使用端口發送數據,進行數據的收發處理.
因爲RTSP協議中,是服務器首先像客戶端這邊發送RTP數據包,因爲必須防火牆允許此應用通過。
如果是公共網絡還涉及到打洞方面的技術,也就是在傳輸開始前,必須完成服務器和客戶端的RTP/RTCP端口的打洞。