網絡知識點總結

IP地址

凡是連接了互聯(lián)網的主機都有一個IP地址;
如果該主機借用了路由器的網絡,那么這個主機只有局域網內的IP晶密;

端口號

  • 每個端口號一般對應一個APP

  • 如果使用的是http協(xié)議,http服務的默認端口號是80
    端口號是16位的,最大值是65535邑时;

URL(統(tǒng)一資源定位符)

  • 組成結構: 協(xié)議://主機地址:端口號/路徑

組成結構分析

  • 協(xié)議:規(guī)定了網絡中兩個主機之間的溝通流程相關語法
  • 主機地址:可以是IP地址特姐,也可以是域名晶丘;(如果是域名需要通過DNS轉換為ip地址)
  • 1個主機對應1個IP地址
  • 端口號:用來表示進程,一般的APP都是單進程的;
  • 1個進程對應1個APP
  • 路徑:是你訪問的服務器中的資源代碼源文件的地址浅浮;

B/S和C/S

  • B/S:瀏覽器/服務器
  • C/S:客戶端/服務器

Unicode和UTF8編碼的關系

  • Unicode:是一個字符集(說通俗點就是個表)
  • UTF8:是對Unicode字符集的一種編碼方式沫浆。

字符集是一種與存儲無關的表,只有編碼才是真正可傳輸可存儲的格式滚秩。

GB2312和Unicode的優(yōu)缺點

  • GB2312只對中英文編碼专执,所以單個字符的編碼長度更短,可以節(jié)約流量提高傳輸速率郁油;
  • Unicode可以兼容更多種語言本股,兼容性更好,但單個字符的編碼長度稍長桐腌,需要的流量更多拄显;

TCP/IP網絡模型的四層

  • 應用層——對應不同協(xié)議的不同端口號
  • 傳輸層——對應TCP或UDP協(xié)議
  • 網絡層——對應IP
  • 網絡接口層(數據鏈路層)——對應物理幀

UDP與TCP的優(yōu)缺點

TCP:

  • 面向鏈接
  • 速度較慢! 因為在交換數據前,必須先在雙方之間建立一個TCP連接案站;
  • 可靠! 提供數據校驗躬审,超時重發(fā),丟棄重復數據,流量控制等;

UDP:

  • 不可靠! 只是把應用層(APP)傳給網絡層(封裝IP報頭)的數據報發(fā)送出去;
  • 速度較快! 沒有數據校驗嚼吞,沒有超時重發(fā)機制盒件,協(xié)議規(guī)定的報頭格式簡單,不面向連接舱禽;

WebView的使用方法

加載HTML格式的字符串
  • (void)loadHTMLString:(NSString*****)stringbaseURL: (nullableNSURL *****)baseURL;

Socket通信過程

1. 創(chuàng)建socket

參數說明:
  1. 常用AF_INET(ipv4+端口號)(將來蘋果要強烈要求使用ipv6)
  2. TCP用SOCK_STREAM(流式)炒刁,UDP用SOCK_DGRAM(數據報式)
  3. TCP用IPPROTO_TCP,UDP用IPPROTO_UDP誊稚∠枋迹可以直接寫0,這樣會根據前兩個形參自動選擇
返回值:

socket描述符里伯。每個進程(一般的程序只有一個進程)中都有一個 socket描述符表城瞎,通過socket描述符就可以在操作系統(tǒng)的內核緩存中找到相應的socket。
返回-1為失敗

方法名:

socket(int, int, int)

2. 發(fā)起connect

參數:
  1. socket描述符
  2. struct sockaddr_in結構體疾瓮,里面保存了五個變量脖镀,其中最重要的有3個
  • (互聯(lián)網協(xié)議) 協(xié)議族:sin_family 常用 AF_INET 以后蘋果要求是用IPV6;
  • IP地址:sin_addr.s_addr 賦值為 inet_addr("XXX.XXX.XXX.XXX")狼电;
  • 端口號:sin_port 賦值為 htons(XXXXX)蜒灰,htons()的作用是把任意數改成大尾順序;
  1. 結構體的大小肩碟,sizeof();
返回值:

返回0為成功强窖,其它為失敗

方法名:

connect(int, const struct sockaddr *, socklen_t)

3. send數據:

參數:

  1. socket描述符
  2. char *要發(fā)送的字符串
  3. 字符串長度,strlen()
  4. 與阻塞有關削祈,可選項非常的多翅溺,一般置0
返回值:

-1失敗脑漫,大于0是發(fā)送的字節(jié)數

函數:

send(int, const void *, size_t, int)

4. recv數據

參數:
  1. socket描述符
  2. uint8_t類型的數組
  3. 字符串長度咙崎,strlen()
  4. 與阻塞有關优幸,可選項非常的多,一般填寫0
返回值:

-1失敗褪猛,大于0則是接收的字節(jié)數劈伴。

方法名:

recv(int, void *, size_t, int)

5. close連接:

參數:

  1. socket描述符
方法名:

close(int)

請求的格式:(一行二頭三體)

請求行:請求方法``空格``路徑``協(xié)議和版本號``\r\n
請求頭:頭字段名``:``空格``頭字段值``\r\n
結束符:\r\n
請求體:默認的GET請求沒有請求頭

比較常用幾個請求頭

  • Host:主機地址;
  • Connection:長連接或短連接握爷。工作中遇到的部分長連接需要使用定時器發(fā)送規(guī)定內容的字符串,以這種方式發(fā)送的請求叫做心跳包严里;

數據解析

序列化和反序列化

  • 序列化

在向服務器發(fā)送數據之前新啼,將 NSArray / NSDictionary 轉換成二進制的過程

  • 反序列化

從服務器獲取數據之后,將二進制數據轉化為NSArray / NSDictionary的過程

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市刹碾,隨后出現的幾起案子燥撞,更是在濱河造成了極大的恐慌,老刑警劉巖迷帜,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件物舒,死亡現場離奇詭異,居然都是意外死亡戏锹,警方通過查閱死者的電腦和手機冠胯,發(fā)現死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锦针,“玉大人荠察,你說我怎么就攤上這事∧嗡眩” “怎么了悉盆?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長馋吗。 經常有香客問我焕盟,道長,這世上最難降的妖魔是什么宏粤? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任脚翘,我火速辦了婚禮,結果婚禮上商架,老公的妹妹穿的比我還像新娘堰怨。我一直安慰自己,他們只是感情好蛇摸,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布备图。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪揽涮。 梳的紋絲不亂的頭發(fā)上抠藕,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音蒋困,去河邊找鬼盾似。 笑死,一個胖子當著我的面吹牛雪标,可吹牛的內容都是我干的零院。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼村刨,長吁一口氣:“原來是場噩夢啊……” “哼告抄!你這毒婦竟也來了?” 一聲冷哼從身側響起嵌牺,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤打洼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后逆粹,有當地人在樹林里發(fā)現了一具尸體募疮,經...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年僻弹,在試婚紗的時候發(fā)現自己被綠了阿浓。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡蹋绽,死狀恐怖搔扁,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情蟋字,我是刑警寧澤稿蹲,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站鹊奖,受9級特大地震影響苛聘,放射性物質發(fā)生泄漏。R本人自食惡果不足惜忠聚,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一设哗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧两蟀,春花似錦网梢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拣宰。三九已至,卻和暖如春烦感,著一層夾襖步出監(jiān)牢的瞬間巡社,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工手趣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留晌该,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓绿渣,卻偏偏與公主長得像朝群,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子中符,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內容

  • OSI潜圃,TCP/IP,五層協(xié)議的體系結構舟茶,以及各層協(xié)議 OSI分層(7層):物理層、數據鏈路層堵第、網絡層吧凉、傳輸層、會...
    Pitfalls閱讀 428評論 0 2
  • 名詞延伸 通俗的說饲鄙,域名就相當于一個家庭的門牌號碼,別人通過這個號碼可以很容易的找到你圆雁。如果把IP地址比作一間房子...
    楊大蝦閱讀 20,602評論 2 57
  • 簡介 用簡單的話來定義tcpdump忍级,就是:dump the traffic on a network,根據使用者...
    保川閱讀 5,956評論 1 13
  • 個人認為伪朽,Goodboy1881先生的TCP /IP 協(xié)議詳解學習博客系列博客是一部非常精彩的學習筆記轴咱,這雖然只是...
    貳零壹柒_fc10閱讀 5,054評論 0 8
  • 為了回家開一個稀奇古怪的證明,一路沒時間歇息烈涮,狂奔南下朴肺。奔波了一路終于到家,細細一捋行程坚洽,簡直比真...
    小韓不止聊健康閱讀 464評論 0 0