google的turnserver 下載方式:svn checkout http://rfc5766-turn-server.googlecode.com/svn/branches/v3.2/ rfc5766-turn-server-read-only
關於webrtc的應用google給了一個實例:
https://apprtc.appspot.com/(需要翻 牆,有時候翻 牆也不一定能登陸,估計是使用的人太多了)
我一直很好奇他使用turn的方式,后來終於搞明白是怎么回事。請看下面幾個角色:
1、client:普通的webrtc終端,android、瀏覽器、windows應用程序,mac程序等等
2、信令服務器:這里就是指apprtc.appspot.com這個server
3、turnserver:turn服務器,nat穿越用的,幫忙打洞(relay)
4、turnclient賬戶管理服務器,和信令服務器使用同一個一級域名和端口號(必須這樣,在這里不做詳細說明)
5、turnclient:turn的client端一般情況下都已經集成在client中了。
工作方式如下:
a、client 從信令服務器拿到turnclient賬戶管理服務器的URL
b、client使用URL去訪問turnclient賬戶管理服務器,得到訪問turnserver的賬號和密碼
c、client 將賬戶和密碼告知turnclient
d、turnclient訪問turnserver
看到這里會出現一個問題:在整個過程中turnclient賬戶管理服務器沒有和turnserver怎么沒有交互的過程?
這里這兩者確實沒有交互過程,請聽我慢慢道來:
這里turnserver的工作模式是“restapi”(不知道什么是restapi請去查看turn的協議),具體方式如下:
這種方式只需要turnclient知道turnserver的key就好了,turnclient只需要使用key,想辦法使用key生成賬戶和密碼就好了。而生成用戶名和密碼的動作就是由turnclient賬戶管理服務器完成的。
預知詳細的工作流程請留言。