在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 模擬技術 > 設計應用 > 無線VoIP系統(tǒng)IP通話功能實現(xiàn)

            無線VoIP系統(tǒng)IP通話功能實現(xiàn)

            作者: 時間:2012-03-01 來源:網絡 收藏
            體, arial; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">

              (1)雙方分別建立socket,調用socket函數(shù):

              s=socket(PF_INET,SOCK_DGRAM,0)

              SOCK_DGRAM表示套接字類型為數(shù)據(jù)報套接字,即采用UDP協(xié)議進行通信。

              (2)綁定已設置好的自己的地址和端口信息,調用bind函數(shù):

              bind(s,(struct sockaddr*)my_addr,sizeof(structsockaddr))

              (3)將select函數(shù)置于阻塞狀態(tài),直到監(jiān)視文件描述符集合rfds中某個文件描述符發(fā)生變化為止:

              select(pCtrl->rwd+1,rfds,IFX_NULL,IFX_NULL,NULL)

              (4)數(shù)據(jù)傳輸:sendto()和recvfrom()用于在無連接的數(shù)據(jù)報socket方式下進行數(shù)據(jù)傳輸。由于本地socket并沒有與遠端機器建立連接,所以在發(fā)送數(shù)據(jù)時應指明目的地址。如圖6所示,A作為發(fā)送方,通過其套接字用函數(shù)sendto()將其服務請求數(shù)據(jù)發(fā)送到接收方B的指定端口,B通過其套接字用函數(shù)recvfrom()接收數(shù)據(jù),處理好服務請求后又將服務應答發(fā)回A,此時A便成了接收方,A接收應答后還可繼續(xù)發(fā)送數(shù)據(jù)給B。

            2.2 廣播通訊的實現(xiàn)

              廣播和多播都用于實現(xiàn)向多個接收者發(fā)送UDP數(shù)據(jù)報,但是廣播不像多播那樣在接收端有復雜的控制過程,因而實現(xiàn)比多播簡單的多。以下廣播通訊的實現(xiàn)均在點對點通訊的基礎上實現(xiàn)的。

              在發(fā)送方,只需要設置套接字socket的選項為允許發(fā)送廣播,然后在發(fā)送時指定目的IP為廣播地址即可。具體地,允許socket廣播通過setsockopt函數(shù)設置廣播選項來實現(xiàn),當setsockopt參數(shù)optname為SO_BROADCAST時,表示打開或禁止從該socket廣播,當參數(shù)optval為1時允許廣播,為0時禁止廣播。

              系統(tǒng)編程實現(xiàn)廣播的部分源碼為:

              int bBroadcast=1:

              setsockopt(pCtrl-->nAdminSocket,SOL_SOCKET,SO_BROADCAST,bBroadcast,sizeof(bBroadcast));

              setsockopt(pConn-->nUsedSocket,SOL_SOCKET,SO_BROADCAST,bBroadcast,sizeof(bBroadcast));

              tO_addr.sin_addr.s_addr=inet_addr(WIRLESS_IP_BROADCAST);

              /*WIRLESS_IP_BROADCAST為廣播地址,其值是將網絡接口(本系統(tǒng)為ath0)IP地址的主機ID部分設置為全1,網絡ID部分不變而得到*/



            關鍵詞: 無線 VoIP系統(tǒng) IP通話 功能

            評論


            相關推薦

            技術專區(qū)

            關閉