socket程式設計 套接字和版本號問題

2021-09-22 21:33:33 字數 895 閱讀 3900

與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...