bind 函式中sockaddr的意義

2021-08-28 05:27:05 字數 486 閱讀 8298

ip 的意義

對於client端來說,如果我們繫結了ip表明,這個ip是它的源ip。對於server端來講,繫結了ip表明 server只能接受這個ip上的連線(也就是固定網絡卡介面了)。 舉個列子如果server 繫結的是127.0.0.1 的話,它代表只能接本機的資料報不接受外面發生的資料報,也就是server繫結127.0.0.1以後,外面client無法連線本地伺服器。

0 的含義

0給ipv4賦值的時候表示 inaddr_any ,這也就是表示讓核心幫我們選擇乙個ip。核心選擇ip位址的時機是當有乙個連線connect(tcp)也就是三次握手完畢後或者當乙個udp資料報被發出去, 此時核心才會為該socket繫結位址。

選擇ip位址的方式對於tcp來說,如果是乙個server(listen態socket),核心是這樣的,根據client端發來的 syn段中的目的端位址作為 源ip。如果是乙個client,核心會根據要連線的server的路由情況,從各個網絡卡中選擇乙個合適的ip位址。

網路程式設計中的bind 函式

一 作用 給我們的socket繫結埠號與具體位址 二 樣子int bind socket s,const sockaddr addr,int namelen s 標識未繫結套接字的描述符。addr 待定namelen 名稱引數所指向的值的長度 以位元組為單位 三 引數 示例bind sky serv...

bind()函式 listen()函式

bind 函式 include include int bind int sockfd,const struct sockaddr addr,socklen t addrlen 12 3sockfd是返回socket函式的返回值 addr 傳入引數 struct sockaddr addr addr...

bind函式詳解

前面我們已經說了,套接字也建立了,地方 也定義了,下面就需要將socket放置在這個 地方 tcp 將他們緊緊地 在一起,用bind函式吧,我們來看看函式原型 int pascal far bind socket s,const struct sockaddr far addr,int namele...