91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

socket的相關操作

發布時間:2020-06-30 14:59:38 來源:網絡 閱讀:744 作者:jackdongting 欄目:建站服務器
1.創建socket:所有的東西在UNIX都是文件
socket系統調用可創建一個socket
int socket  (int domain,  int  type,  int  protocol);

domain:告訴系統使用那個底層協議族
type:指定服務類型
1.1服務類型有SOCK_STREAM和SOCK_UGRAM(數據報)
1.內核在2.16.17開始,type可以接邏輯與的參數SOCK_NONBLOCK和SOCK_CLOEXEC來表示soocket是否非阻塞
1.3protocol參數在前兩個參數的下,在選擇一個具體的協議
調用結果:返回一個socket文件描述符,失敗返回-1并且設置errno
2.命名socket
創建的時候,我們只是指定了地址族,但是未指定使用具體的那個socket地址
講一個socket與socket地址綁定稱為socket命名

服務器需要命名socket,客戶端不需要
2.1int bind(int sockfd,const  struct  sockaddr * my_addr,socklen_t addrlen);

bind 成功返回0,失敗返回-1并設置errno
2.2 常見的失敗有EACCES:被綁定的地址是受保護的,僅僅是超級用戶可以訪問
EADDRINUSE:被綁定的地址正在使用

3.監聽socket、

創建和命名后,是不能直接被客戶端訪問,需要創建一個監聽隊列來存放待處理的客戶連接

3.1 int listen(int sockfd, int backlog);

backlog參數提示內核監聽隊列的最大長度

超過之后,就不再受理客戶連接

錯誤消息是ECONNREFUSED

listen唱功返回0,失敗返回-1并且設置errno

完整的連接只是backlog+1 個

4.接受連接

int accept(int sockfd,struct sockaddr addr,socklen_t addrlen)

問題:如果有個客戶端請求出現網絡異常或者掉線,會怎樣?
答案:accept只是從監聽隊列取出來連接,不論連接出于什么狀態,更不會關心網絡變化

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜宾县| 周宁县| 汕尾市| 慈溪市| 灌南县| 临泉县| 景宁| 万荣县| 杂多县| 社旗县| 慈溪市| 黄平县| 松阳县| 蒙自县| 大石桥市| 西宁市| 交口县| 商水县| 清镇市| 大兴区| 龙山县| 桂平市| 龙陵县| 尉犁县| 贵南县| 格尔木市| 千阳县| 玉门市| 临夏市| 枣阳市| 慈溪市| 屯留县| 琼中| 荔波县| 武夷山市| 饶阳县| 华蓥市| 开封市| 徐水县| 南阳市| 林周县|