c語言setsockopt()函式:設定socket狀態
標頭檔案:
#include #include
定義函式:
int setsockopt(int s, int level, int optname, const void * optval, ,socklen_toptlen);
函式說明:setsockopt()用來設定引數s 所指定的socket 狀態. 引數level 代表欲設定的網路層, 一般設成sol_socket 以訪問socket 層. 引數optname 代表欲設定的選項, 有下列幾種數值:
so_debug 開啟或關閉排錯模式
so_reuseaddr 允許在bind ()過程中本地位址可重複使用
so_type 返回socket 形態.
so_error 返回socket 已發生的錯誤原因
so_dontroute 送出的資料報不要利用路由裝置來傳輸.
so_broadcast 使用廣播方式傳送
so_sndbuf 設定送出的暫存區大小
so_rcvbuf 設定接收的暫存區大小
so_keepalive 定期確定連線是否已終止.
so_oobinline 當接收到oob 資料時會馬上送至標準輸入裝置
so_linger 確保資料安全且可靠的傳送出去.
引數 optval 代表欲設定的值, 引數optlen 則為optval 的長度.
返回值:成功則返回0, 若有錯誤則返回-1, 錯誤原因存於errno.
rkkks附加說明:
1、ebadf 引數s 並非合法的socket 處理**
2、enotsock 引數s 為一檔案描述詞, 非socket
3、enoprotoopt 引數optname 指定的選項不正確.
4、efault 引數optval 指標指向無法訪問的記憶體空間.
c語言getsockopt()函式:取得socket 狀態
標頭檔案:
#include #include
定義函式:
int getsockopt(int s, int level, int optname, void* optval, socklen_t* optlen);
函式說明:getsockopt()會將引數s 所指定的socket 狀態返回. 引數optname 代表欲取得何種選項狀態, 而引數optval 則指向欲儲存結果的記憶體位址, 引數optlen 則為該空間的大小. 引數level、optname 請參考setsockopt().
返回值:成功則返回0, 若有錯誤則返回-1, 錯誤原因存於errno
錯誤**:
1、ebadf 引數s 並非合法的socket 處理**
2、enotsock 引數s 為一檔案描述詞, 非socket
3、enoprotoopt 引數optname 指定的選項不正確
4、efault 引數optval 指標指向無法訪問的記憶體空間
範例#include
#include
main()
執行:optval = 1 //soc程式設計客棧k_stream 的定義正是此值
本文位址:
執行緒名字的取得和設定
public final string getname 取得執行緒的方法 public final void setname string name 設定執行緒的方法 由於執行緒執行的不確定性,因此,取得執行緒的名字是取得當前執行緒的名字,取的當前執行緒的方法是 public static thre...
取得和設定執行緒的名稱
package getname import j a.util.missingformatargumentexception 寫乙個demo 設定執行緒名稱和獲得當前執行緒的名稱 thread 的方法 string getname 返回該執行緒的名稱。static thread currentthr...
如何取得Android手機的當前語言設定
1.首先,如果要程式自動適應系統語言進行轉變,可以在res下新增相應的語言資料夾 如 新增中文,則資料夾命名為values zh rcn,如果不清楚需要的名字可以到 e android sdk windows platforms android 8 data res,如這樣的資料夾下尋找。這樣就可以...