1.socket原理:socket中文翻譯為套接字 是支持TCP/IP協(xié)議的網(wǎng)絡(luò)通信的基本操作單元揽碘,包含網(wǎng)絡(luò)通信必須的5種信息:連接使用的協(xié)議 已卸,本地主機(jī)的IP趣避,本地進(jìn)程的協(xié)議端口,遠(yuǎn)地主機(jī)的IP家凯,遠(yuǎn)地進(jìn)程的協(xié)議端口。當(dāng)應(yīng)用層通過傳輸層進(jìn)行數(shù)據(jù)通信時如失,TCP會遇到同時為多個應(yīng)用程序進(jìn)程提供服務(wù)的問題绊诲,多個TCP連接或應(yīng)用程序會同時通過一個TCP協(xié)議端口傳輸數(shù)據(jù)。為了區(qū)分不同的應(yīng)用程序和連接褪贵,為應(yīng)用程序與TCP/IP協(xié)議提供socket接口.應(yīng)用層與傳輸層通過socket區(qū)分不同應(yīng)用程序或網(wǎng)絡(luò)連接的通信掂之,實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)牟l(fā)服務(wù)。建立socket連接知道需要一對套接字脆丁, 其中一個運(yùn)行與客戶端 世舰,一個運(yùn)行與服務(wù)端 連接分為三個步驟:服務(wù)器監(jiān)聽 ,客戶端請求偎快, 連接確認(rèn)
2.POST和GET的區(qū)別
GET一般用于獲取數(shù)據(jù) POST一般用于將數(shù)據(jù)發(fā)給服務(wù)器。
GET使用URL或者Cookie傳參洽胶,POST將數(shù)據(jù)放在body體中
POST比GET較為安全 數(shù)據(jù)在地址欄上不可見
GET 方法提交的數(shù)據(jù)大小限制在255 個字符之內(nèi)晒夹, POST 方法提交的數(shù)據(jù)大小沒有限制
GET 方法不可以設(shè)置書簽,POST可以設(shè)置書簽
3.遠(yuǎn)程推送的基本過程:客戶端的app需要將用戶的UDID和App的bundleID發(fā)送apons服務(wù)器進(jìn)行注冊 apns返回app一個加密后的device Token姊氓。app獲得device Token后丐怯,上傳到公司服務(wù)器。當(dāng)需要推送時 公司服務(wù)器會將推送內(nèi)容和device Token一起發(fā)給apns服務(wù)器翔横,apns再將推送內(nèi)容發(fā)送到客戶端上读跷。
4.ARC和MRC
ARC和MRC兩種內(nèi)存管理機(jī)制,ARC是Xcode4.1之后出現(xiàn)的自動管理內(nèi)存的機(jī)制禾唁,MRC需要手動管理內(nèi)存效览。在MRC下對變量進(jìn)行管理的方有:retain,release荡短,和autorelease丐枉,retain 表示引用計數(shù)加一相當(dāng)于多了一個指針變量指向該對象,release引用計數(shù)減一 掘托,指針變量對該對象的所有權(quán)瘦锹,autorelease是將該對象的內(nèi)存管理放到autoreleasepool(釋放池)中。