最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何在c語(yǔ)言下關(guān)閉socket

 更新時(shí)間:2019年05月20日 14:19:58   作者:a787188834  
如果不主動(dòng)關(guān)閉socket的話,系統(tǒng)不會(huì)自動(dòng)關(guān)閉的,除非當(dāng)前進(jìn)程掛掉了,操作系統(tǒng)把占用的socket回收了才會(huì)關(guān)閉。下面小編來(lái)簡(jiǎn)單介紹下

c語(yǔ)言關(guān)閉socket的兩種方式

一、shutdown()

#include<sys/socket.h>

int shutdown(int sockfd,int how);

how的方式有三種分別是

SHUT_RD(0):關(guān)閉sockfd上的讀功能,此選項(xiàng)將不允許sockfd進(jìn)行讀操作。不允許接受。

SHUT_WR(1):關(guān)閉sockfd的寫(xiě)功能,此選項(xiàng)將不允許sockfd進(jìn)行寫(xiě)操作。不允許發(fā)送。

SHUT_RDWR(2):關(guān)閉sockfd的讀寫(xiě)功能。不允許發(fā)送和接受(和 close() 一樣)。

成功則返回0,錯(cuò)誤返回-1,錯(cuò)誤碼errno:EBADF表示sockfd不是一個(gè)有效描述符;ENOTCONN表示sockfd未連接;ENOTSOCK表示sockfd是一個(gè)文件描述符而不是socket描述符。

二、close()

#include<unistd.h>

int close(int fd);

關(guān)閉讀寫(xiě)。它將防止套接字上更多的數(shù)據(jù)的讀寫(xiě)。任何在另一端讀寫(xiě)套接字的企 圖都將返回錯(cuò)誤信息。

成功則返回0,錯(cuò)誤返回-1,錯(cuò)誤碼errno:EBADF表示fd不是一個(gè)有效描述符;EINTR表示close函數(shù)被信號(hào)中斷;EIO表示一個(gè)IO錯(cuò)誤。

區(qū)別:

1、shutdown()在如何關(guān)閉套接字上有多一點(diǎn)的控制。shutdown 可以單向關(guān)閉,Close不可以。

2、當(dāng)多線程共享/調(diào)用同一個(gè)Socket時(shí),Close只是會(huì)減1,直到減到0才會(huì)真正去關(guān)閉Socket,

而shutdown則不會(huì)理會(huì)有多少線程在用,強(qiáng)制直接關(guān)閉socket.

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C和C++11之enum枚舉的具體使用方法

    C和C++11之enum枚舉的具體使用方法

    這篇文章主要介紹了C和C++11之enum枚舉的具體使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 用C語(yǔ)言實(shí)現(xiàn)猜數(shù)字游戲

    用C語(yǔ)言實(shí)現(xiàn)猜數(shù)字游戲

    這篇文章主要為大家詳細(xì)介紹了用C語(yǔ)言實(shí)現(xiàn)猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • C++ throw關(guān)鍵字實(shí)現(xiàn)拋出異常和異常規(guī)范

    C++ throw關(guān)鍵字實(shí)現(xiàn)拋出異常和異常規(guī)范

    本文主要介紹了C++ throw關(guān)鍵字實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C語(yǔ)言 運(yùn)算符詳細(xì)介紹及示例代碼

    C語(yǔ)言 運(yùn)算符詳細(xì)介紹及示例代碼

    本文介紹C語(yǔ)言 運(yùn)算符,這里整理了運(yùn)算符的基礎(chǔ)知識(shí),并附示例代碼,希望能幫助剛剛開(kāi)始學(xué)習(xí) C語(yǔ)言的同學(xué)
    2016-08-08
  • C語(yǔ)言的sleep、usleep、nanosleep等休眠函數(shù)的使用

    C語(yǔ)言的sleep、usleep、nanosleep等休眠函數(shù)的使用

    本文主要介紹了C語(yǔ)言的sleep、usleep、nanosleep等休眠函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Qt QStandardItemModel用法小結(jié)

    Qt QStandardItemModel用法小結(jié)

    QStandardItemModel可用作標(biāo)準(zhǔn)Qt數(shù)據(jù)類型的存儲(chǔ)庫(kù),本文主要介紹了Qt QStandardItemModel用法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • C語(yǔ)言函數(shù)棧幀詳解

    C語(yǔ)言函數(shù)棧幀詳解

    下面小編就為大家?guī)?lái)一篇淺談C語(yǔ)言函數(shù)調(diào)用參數(shù)壓棧的相關(guān)問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-10-10
  • C++印刷模板使用方法詳解

    C++印刷模板使用方法詳解

    模板是C++支持參數(shù)化多態(tài)的工具,使用模板可以使用戶為類或者函數(shù)聲明一種一般模式,使得類中的某些數(shù)據(jù)成員或者成員函數(shù)的參數(shù)、返回值取得任意類型
    2022-11-11
  • 如何通過(guò)C++求出鏈表中環(huán)的入口結(jié)點(diǎn)

    如何通過(guò)C++求出鏈表中環(huán)的入口結(jié)點(diǎn)

    本文主要介紹了通過(guò)C++求解鏈表中環(huán)的入口結(jié)點(diǎn),即給一個(gè)長(zhǎng)度為n鏈表,若其中包含環(huán),請(qǐng)找出該鏈表的環(huán)的入口結(jié)點(diǎn),否則,返回null。需要的朋友可以參考一下
    2021-12-12
  • C 語(yǔ)言中實(shí)現(xiàn)環(huán)形緩沖區(qū)

    C 語(yǔ)言中實(shí)現(xiàn)環(huán)形緩沖區(qū)

    本文主要是介紹 C語(yǔ)言實(shí)現(xiàn)環(huán)形緩沖區(qū),并附有詳細(xì)實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,希望能幫助有需要的小伙伴
    2016-07-07

最新評(píng)論

南通市| 汽车| 宣恩县| 大庆市| 韶山市| 万宁市| 奎屯市| 抚远县| 怀远县| 萝北县| 闽清县| 桐庐县| 浦东新区| 岳西县| 广丰县| 蓬安县| 合山市| 桂阳县| 三门峡市| 许昌市| 崇明县| 涿州市| 韩城市| 海丰县| 闵行区| 台中县| 仲巴县| 大方县| 建阳市| 保定市| 项城市| 海安县| 铜梁县| 石台县| 南木林县| 怀安县| 精河县| 丹阳市| 永顺县| 靖州| 禹城市|