**
套接字,是一種接**術,它封裝了tcp/ip通訊協議,使用它可以讓計算機之間通過網路傳輸資料,所有的作業系統使用的都基於socket的介面進行網路通訊的。
不光可以用於網路間通訊,還可以用於程序間通訊,或者可以網路通訊理解為不同計算之間的程序間通訊。
其實是一種記憶體物件,以描述符的形式呈現,傳送資料即寫檔案,接收資料讀檔案。
int
socket
(int domain,
int type,
int protocol)
;功能:建立乙個socket物件
domain:位址域,什麼型別的位址
af_unix, af_local 接收下將使用路徑位址進行程序間通訊
af_inet 使用ipv4位址進行網路通訊
af_inet 使用ipv6位址進行網路通訊
type:
sock_stream 使用資料流進行通訊 tcp
sock_dgram 使用資料報通訊 udp
protocol:
特殊的通訊協議,一般不用,寫0即可。
返回值:成功返回socket描述符,失敗返回-
1。
基本位址
struct sockaddr
本地型別位址
struct sockaddr_un;
網路型別位址
struct sockaddr_in;
ip位址
struct in_addr ;
位址位元組序轉換成網路位元組序
uint32_t htonl
(uint32_t hostlong)
;uint16_t htons
(uint16_t hostshort)
;uint32_t ntohl
(uint32_t netlong)
;功能:把網路位元組序的4位元組整數轉換成本地位元組序
uint16_t ntohs
(uint16_t netshort)
;功能:把網路位元組序的2位元組整數轉換成本地位元組序
ip位址轉換
in_addr_t inet_addr
(const
char
*cp)
;char
*inet_ntoa
(struct in_addr in)
;
Linux網路程式設計之廣播
1.概念 前面介紹的tcp,udp都是單播方式,即一對一.而廣播是一台主機向區域網內的所有主機傳送資料。這時,同一網段的所有主機都能接收到資料。傳送廣播包的步驟大致如下 1 確定乙個傳送廣播的介面,如eth0 2 確定廣播的位址,通過ioctl函式,請求碼設定為siocgifbrdaddr得到廣播的...
Linux網路程式設計之廣播
1.概念 前面介紹的tcp,udp都是單播方式,即一對一.而廣播是一台主機向區域網內的所有主機傳送資料。這時,同一網段的所有主機都能接收到資料。傳送廣播包的步驟大致如下 1 確定乙個傳送廣播的介面,如eth0 2 確定廣播的位址,通過ioctl函式,請求碼設定為siocgifbrdaddr得到廣播的...
linux網路程式設計之Socket
一.socket socket可看作是使用者程序與核心網路協議的程式設計介面.socket可用於本機程序間的通訊,也可用於網路上不同主機間的程序通訊.下圖顯示的是各種網路協議的位址格式 1.struct socketaddr 通用位址結構 通過獲取某種socketaddr結構體的首位址,不需要知道具...