與windows相關的socket套接字的api稱為soctet函式。
通訊雙方各有套接字。套接字與特定的ip位址和埠號相關。一般套接字型別可分為:
1. 流式套接字(sock_stream):使用tcp
2. 資料報(sock_dgram):使用udp
網路位元組流首先將資料中最重要的部分進行儲存。通訊資料可能會在不同的機器中進行傳輸,因此,所有的網路位元組流必須按同乙個只進行處理。
使用者需要兩個套接字,分別執行於客戶端(clinent-socket)和服務端(serber-socket)。
開始網路監聽。對於伺服器而言,實現不知道要服務於哪台客戶機,因此處於等待鏈結的監聽狀態。監控網路狀態,直到客戶端發出請求,開始響應。
s響應c的請求,在本地建立乙個新的程序,用於服務與c的通訊。傳送確認報文給c,當c收到,表示接收完畢。此過程中s可以繼續處於監聽狀態,監聽其他c的請求。
windock.h:標頭檔案
winsock.lib:鏈結庫檔案
連線使用的協議
本地ip
協議埠
目的ip
目的埠
舉例:sockaddr_in, in_addr
struct sockaddr_in
;
in_addr:
struct in_addr s_un_b;
struct s_un_w;
u_long s_addr;
} s_un;
};
伺服器端套接字:
bind():繫結本地ip、埠;
listen():監聽
accept():響應請求
建立csocketfile、csocketarchive(資料傳輸)類
socket網路程式設計和套接字
網路程式設計就是編寫程式使得兩台聯網的計算機進行資料的交換。套接字是網路傳輸時使用的軟體裝置,因此我們可以通過套接字來實現資料傳輸。由於網路程式設計中涉及到了兩台聯網計算機,所以我們將其分為伺服器端和客戶端,顧名思義,伺服器端是用來受理連線請求,客戶端是用來請求連線。注意 現在介紹的函式都是在lin...
如何檢視Linux版本號 核心版本號和發行版本號
檢視核心版本號的方法是 開啟乙個終端,輸入命令uname r 比如ubuntu9.10的核心是linux 2.6.31 centos 5.4的核心是linux2.6.18 檢視發行版本號的方法是 用命令找到 etc目錄下的issue檔案或release檔案。ls etc issue 或 ls etc...
如何檢視Linux版本號 核心版本號和發行版本號
首先,要分清核心版本號和發行版本號的區別。因為所有linux都是使用kernel.org上來的核心來作為發行版的基礎的,所以核心版本號的高低大致能體現該linux版本的新舊。而發行版本的版本號完全是各發行商自己定義的,不能用來和其它發行版本的版本號進行比較,比如suse的10.0不能和red hat...