相關函數
connect(建立socket連線)
socket,bind,listen
表頭文件
#include
#include
定義函數
int connect(int sockfd,struct sockaddr*serv_addr,int addrlen);
函數說明
connect()用來将參數sockfd的socket連至參數serv_addr指定的網絡地址。結構sockaddr請參考bind()。參數addrlen為sockaddr的結構長度。
參數
參數一:套接字描述符
參數二:指向數據結構sockaddr的指針,其中包括目的端口和IP地址
參數三:參數二sockaddr的長度,可以通過sizeof(struct sockaddr)獲得
返回值
成功則返回0,失敗返回非0,錯誤碼GetLastError()。
錯誤代碼
EBADF參數sockfd非合法socket處理代碼
EFAULT參數serv_addr指針指向無法存取的内存空間
ENOTSOCK參數sockfd為一文件描述詞,非socket。
EISCONN參數sockfd的socket已是連線狀态
ECONNREFUSED連線要求被server端拒絕。
ETIMEDOUT企圖連線的操作超過限定時間仍未有響應。
ENETUNREACH無法傳送數據包至指定的主機。
EAFNOSUPPOR Tsockaddr結構的sa_family不正确。
EALREADY socket為不可阻斷且先前的連線操作還未完成。