亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

C語言

C語言設(shè)置和取得socket狀態(tài)的相關(guān)函數(shù)用法介紹

時間:2025-03-30 03:27:10 C語言 我要投稿
  • 相關(guān)推薦

C語言設(shè)置和取得socket狀態(tài)的相關(guān)函數(shù)用法介紹

  C語言setsockopt()函數(shù):設(shè)置socket狀態(tài)

  頭文件:

  定義函數(shù):

  int setsockopt(int s, int level, int optname, const void * optval, ,socklen_toptlen);

  函數(shù)說明:setsockopt()用來設(shè)置參數(shù)s 所指定的socket 狀態(tài). 參數(shù)level 代表欲設(shè)置的網(wǎng)絡(luò)層, 一般設(shè)成SOL_SOCKET 以存取socket 層. 參數(shù)optname 代表欲設(shè)置的選項, 有下列幾種數(shù)值:

  SO_DEBUG 打開或關(guān)閉排錯模式

  SO_REUSEADDR 允許在bind ()過程中本地地址可重復(fù)使用

  SO_TYPE 返回socket 形態(tài).

  SO_ERROR 返回socket 已發(fā)生的錯誤原因

  SO_DONTROUTE 送出的數(shù)據(jù)包不要利用路由設(shè)備來傳輸.

  SO_BROADCAST 使用廣播方式傳送

  SO_SNDBUF 設(shè)置送出的暫存區(qū)大小

  SO_RCVBUF 設(shè)置接收的暫存區(qū)大小

  SO_KEEPALIVE 定期確定連線是否已終止.

  SO_OOBINLINE 當(dāng)接收到OOB 數(shù)據(jù)時會馬上送至標準輸入設(shè)備

  SO_LINGER 確保數(shù)據(jù)安全且可靠的傳送出去.

  參數(shù) optval 代表欲設(shè)置的值, 參數(shù)optlen 則為optval 的長度.

  返回值:成功則返回0, 若有錯誤則返回-1, 錯誤原因存于errno.

  附加說明:

  1、EBADF 參數(shù)s 并非合法的socket 處理代碼

  2、ENOTSOCK 參數(shù)s 為一文件描述詞, 非socket

  3、ENOPROTOOPT 參數(shù)optname 指定的選項不正確.

  4、EFAULT 參數(shù)optval 指針指向無法存取的內(nèi)存空間.

  C語言getsockopt()函數(shù):取得socket 狀態(tài)

  頭文件:

  #include#include

  定義函數(shù):

  int getsockopt(int s, int level, int optname, void* optval, socklen_t* optlen);

  函數(shù)說明:getsockopt()會將參數(shù)s 所指定的socket 狀態(tài)返回. 參數(shù)optname 代表欲取得何種選項狀態(tài), 而參數(shù)optval 則指向欲保存結(jié)果的內(nèi)存地址, 參數(shù)optlen 則為該空間的大小. 參數(shù)level、optname 請參考setsockopt().

  返回值:成功則返回0, 若有錯誤則返回-1, 錯誤原因存于errno

  錯誤代碼:

  1、EBADF 參數(shù)s 并非合法的socket 處理代碼

  2、ENOTSOCK 參數(shù)s 為一文件描述詞, 非socket

  3、ENOPROTOOPT 參數(shù)optname 指定的選項不正確

  4、EFAULT 參數(shù)optval 指針指向無法存取的內(nèi)存空間

  范例

  #include#includemain(){  int s;  int optval;  int optlen = sizeof(int);  if((s = socket(AF_INET, SOCK_STREAM, 0)) < 0)  perror("socket");  getsockopt(s, SOL_SOCKET, SO_TYPE, &optval, &optlen);  printf("optval = %dn", optval);  close(s);}

  執(zhí)行:

  optval = 1 //SOCK_STREAM 的定義正是此值

【C語言設(shè)置和取得socket狀態(tài)的相關(guān)函數(shù)用法介紹】相關(guān)文章:

有關(guān)C語言中獲取文件狀態(tài)的相關(guān)函數(shù)小結(jié)10-18

C語言中strpbr()函數(shù)的用法07-25

c語言中time函數(shù)的用法08-27

c語言數(shù)學(xué)函數(shù)的介紹10-20

C語言socket編程的方法10-07

C語言指針函數(shù)和函數(shù)指針詳解09-29

C語言的strcpy()和strncpy()函數(shù)09-20

C語言函數(shù)的遞歸和調(diào)用08-22

c語言new的用法介紹08-28