..........(此處略去萬萬字)學習中曲折的過程不介紹了,直接說結果
我的學習方法,問自己三個問題,學習過程将圍繞這三個問題進行
what:socket是什麼
why:為什麼要使用socket
how:怎麼使用
1. socket是什麼
首先要了解網絡通信協定,ISO模型的七個分層,分别為實體層、資料鍊路層、網絡層、傳輸層、會話層、表示層和應用層(具體每一層的作用,谷歌搜尋),了解相關協定,重點了解TCP/IP,UDP協定
socket的英文原義是“孔”或“插座”。作為BSD
UNIX的程序通信機制,取後一種意思。通常也稱作"套接字",用于描述IP位址和端口,是一個通信鍊的句柄。在Internet上的主機一般運作了多個服務軟體,同時提供幾種服務。每種服務都打開一個Socket,并綁定到一個端口上,不同的端口對應于不同的服務。(摘自百度百科)
學習資料:
2.
為什麼要使用socket
Socket 傳輸的特點:
優點
1) 傳輸資料為位元組級,傳輸資料可自定義,資料量小(對于手機應用講:費用低)
2) 傳輸資料時間短,性能高
3) 适合于用戶端和伺服器端之間資訊實時互動
4) 可以加密,資料安全性強
缺點:
1) 需對傳輸的資料進行解析,轉化成應用級的資料
2) 對開發人員的開發水準要求高
3) 相對于Http協定傳輸,增加了開發量
摘自
3.
怎麼使用socket
放慢走路的步伐,你可以看到更多路邊優美的風景