1、網路:在計算機領域中,網路是資訊傳輸、接收、共享的虛擬平台,通過它把各個點、
面、體的資訊聯絡到一起,從而實現這些資源的共享。
2、網際網路(internet):是網路與網路之間所串連成的龐大網路,這些網路以一組通用
的協議相連,形成邏輯上的單一巨大國際網路。
在不同主機上的兩個程序
4、在網路乙個程序:ip 位址 & 埠號
網絡卡位址 === 主機位址
6、網路層次結構:osi 協議模型 tcp/ip 協議模型
應用層 會話層 表示層 傳輸層 網路層 資料鏈路層 物理層
應用層 傳輸層 網路層 資料鏈路層
應用層:與其它計算機進行通訊的乙個應用,它是對應應用程式的通訊服務的。
會話層:它定義了如何開始、控制和結束乙個會話,包括對多個雙向訊息的控制和
管理,以便在只完成連續消
息的一部分時可以通知應用,從而使表示層看到的資料是連
續的,在某些情況下,如果表示層收到了所有的資料,
則用資料代表表示層。
表示層:這一層的主要功能是定義資料格式及加密。
傳輸層:這層的功能包括是否選擇差錯恢復協議還是無差錯恢復協議,及在同一主
機上對不同應用的資料流的
輸入進行復用,還包括對收到的順序不對的資料報的重新排
序功能。
和學習的方式。為了適應最大傳輸單元長度小於包長度的傳輸介質,網路層還定義了如何將乙個包分解成更小的包
的分段方法。
資料連線層:它定義了在單個鏈路上如何傳輸資料。這些協議與被討論的各種介質有關。
的使用、電流、編碼及光調製等都屬於各種物理層規範中的內容。物理層常用多個規範完成對所有細節的定義。
7、怎樣完成網路程式設計:
伺服器: 提供資料的為伺服器
客戶端: 獲取資料的為客戶端
8、協議的選擇:
tcp: 面向連線的 可靠的 流式服務
udp: 無連線 不可靠的 資料報服務
9、tcp 的程式設計流程:
伺服器(server): socket(套接字
) bind(命名) listen(監聽)
accept(拿乙個鏈結出來) recv/send(接髮資料) close
客戶端( client): socket /*bind*/ connect recv/send close
int socket(int domain, int type, int protocol);
domain:: 協議簇 af_inet
type:: 選擇協議 sock_stream(tcp) sock_dgram(udp)
protocol:: 0
int bind(int sockfd, struct sockaddr*addr, int addrlen);
addr:: 指定 ip 位址和埠號
struct sockaddr_in
structin_addr
int listen(intsockfd, int size);
int accept(int sockfd, struct sockaddr*addr, int *addrlen);
返回值: 獲取到的和客戶端連線的檔案描述符
addr:: 記錄客戶端的 ip 位址和埠號
int connect(int sockfd, struct sockaddr*addr, int addrlen);
addr:: 要連線的伺服器的 ip 位址和埠號
伺服器:
客戶端:
先啟動伺服器,再啟動客戶端,結果如下:
伺服器不會關閉,客戶端傳送一次,伺服器接收一次。
注意: netstat -atp 顯示本機上所有的 tcp 服務程式以及其占用的埠號
網路程式設計基礎(一)
網路程式設計基礎 網路程式設計的實現就必須有伺服器和客戶端的存在 伺服器 為客戶提供服務的一方 客戶端 獲取資料的為客戶端,可以是任意一台主機,只要它和伺服器存在連線,並且的到伺服器的授權,就可以使用伺服器提供的服務 有兩種協議可以選擇 1 tcp 面向連線的 可靠的 流式服務 2 udp 無連線 ...
網路程式設計基礎一
osi參考模型也稱為七層模型 應用層 表示層 會話層 傳輸層 網路層 資料鏈路層 物理層 tcp ip參考模型也稱為4層模型 應用層例如 http ftp 傳輸層例如 tcp udp 網際層例如 ip 資料鏈路層 物理層例如 無線 光纜 網線 ip位址 網路中裝置的標識 埠號 用於標識程序的邏輯位址...
網路程式設計基礎 一
獲得套接字識別符號socket fd int socket int domain,int type,int protocol int domain 為傳輸協議 tcp一般用af inet ipv4 internet protocols ipv4網路協議 af inet6 ipv6 internet ...