linux 伺服器端應用層accept函式使用講解

2021-12-30 10:31:20 字數 860 閱讀 3095

1. 應用層accept函式

處於監聽狀態的伺服器在獲得客戶機的連線請求後,會將其放置在等待佇列中。當系統空閒時,將接受客戶機的連線請求。接收客戶機的連線請求使用accept函式,該函式的具體資訊如表所示。

標頭檔案

函式形式

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

返回值

成功 失敗

是否設定errno

返回新的套接字檔案描述符

說明:

accept函式用於面向連線型別的套接字型別(sock_stream和sock_seqpacket)。accept函式將從連線請求佇列中獲得連線資訊,建立新的套接字,並返回該套接字的檔案描述符。新建立的套接字用於伺服器與客戶機的通訊,而原來的套接字仍然處於監聽狀態。accept函式的sockfd引數為監聽的套接字描述符。addr引數為指向結構體sockaddr的指標。引數addrlen為addr引數指向的記憶體空間的長度。

錯誤資訊:

eagain:套接字處於非阻塞狀態,當前沒有連線請求。

ebadf:非法的檔案描述符。

econnaborted:連線中斷。

eintr:系統呼叫被訊號中斷。

einval:套接字沒有處於監聽狀態,或非法的addrlen引數。

emfile:達到程序開啟檔案描述符限制。

enfile:達到開啟檔案數限制。

enotsock:檔案描述符為檔案的檔案描述符。

eopnotsupp:套接字型別不是sock_stream。

socket伺服器端

伺服器 include winsock2.h include string.h include stdio.h include time.h include stdarg.h include stdlib.h pragma comment lib,ws2 32 void errexit const ...

kerberos伺服器端

1.安裝tcl wget tar zvxf tcl8.5.12 src.tar.gz cd tcl8.5.12 cd unix configure make make install 3.解壓 tar xvf krb5 1.10.3 signed.tar tar zvxf krb5 1.10.3.t...

C tcp伺服器端

伺服器端 include stdafx.h include winsock2.h pragma comment lib,ws2 32.lib include using namespace std int tmain int argc,char ar 建立套接字 sserver socket af ...