iOS Voip 後台執行的原理

2022-03-31 22:48:44 字數 938 閱讀 1371

最近要做voip的ios客戶端,所以對這方面進行了一點研究。

類似的有skype,一般情況下程式進入到後台之後是無法接收到訊息的,除非像qq那樣,通過notificationcenter來實現,但是必須上架,比較麻煩。

通過在info.plist檔案裡面設定uibackgroundmodes來設定這個選項的資訊。

下面是對voip在ios執行的原理的介紹,主要就是:當進行後台之後,系統託管nsstream的通道,如果伺服器有資訊要

傳遞到客戶端,系統會啟用處於後台的程式執行10秒鐘(10秒鐘之內都可以,可以設定為6秒,或者8秒之類的),這個時候可以通過

localnotification來提示使用者有訊息。

來自網路的介紹,感謝分享~

從問題看來你對voip的基本流程了解都不夠。對socket也是一知半解。

sip伺服器還有什麼帳號的區分麼?sip伺服器又不是github。sip伺服器一般都是自己搭建的,有複雜的,類似與asterisk,也有簡單的,例如symbiansdk裡面提供的sip伺服器。sip只是乙個簡單的協議而已,voip裡面包含了許多其他協議,sip,sdp,rtp,srtp~~另外還涉及到了h264,g729,ilbc等這種編譯碼方式,還有中轉,直連這個voip中客戶端的連線方式。

socket是全雙工的,為何要在客戶端也建立伺服器監聽?

ios上的voip程式是肯定能後台監測到來電並提示使用者的

voip的sip報文走的是tcp通道,而語音報文走的是udp通道。

在ios平台中,nsstream即為tcp,並且nsstream有乙個voip屬性,如果設定了,那麼你的程式處於後台時候,系統會託管你這個nsstream通道,並保持和伺服器連線的暢通,如果這個時候伺服器通過這個nssream(tcp socket)給客戶端傳送了資料,系統會啟用你處於後台的程式執行10秒鐘已處理這個報文,你可以在這個時候通過localnotification來提示使用者有來電。

iOS Voip 後台執行的原理

最近要做voip的ios客戶端,所以對這方面進行了一點研究。類似的有skype,一般情況下程式進入到後台之後是無法接收到訊息的,除非像qq那樣,通過notificationcenter來實現,但是必須上架,比較麻煩。通過在info.plist檔案裡面設定uibackgroundmodes來設定這個選...

iOS Voip 後台執行的原理

最近要做voip的ios客戶端,所以對這方面進行了一點研究。類似的有skype,一般情況下程式進入到後台之後是無法接收到訊息的,除非像qq那樣,通過notificationcenter來實現,但是必須上架,比較麻煩。通過在info.plist檔案裡面設定uibackgroundmodes來設定這個選...

docker 後台執行和進入後台執行的容器

先建立並進入乙個新的被命名為newos的新容器 docker run it name newos docker.io centos 建立並指定埠號對映 docker run d p 8002 80 name my ng nginx centos bin bash 啟動的時候用 bin bash可能到...