在bind邦定時,通常會出現bind:Address alreasy is use錯誤。 此錯誤可以用setsockopt函數避免 int setsockopt(int sockfd,int level,int optname,const void *optval,socklen_t optlen) ...
在bind邦定時,通常會出現bind:Address alreasy is use錯誤。
此錯誤可以用setsockopt函數避免
int setsockopt(int sockfd,int level,int optname,const void *optval,socklen_t optlen)
sockfd:套接字描述符
level:層次 SOL_SOCKET
optname:需要設置的選項
optval:指向存放選項值緩衝區的指針
optlen:optval緩衝區的長度
此函數放在bind函數之前
例如:
1 /*使用套接字選項,避免出錯*/ 2 if(setsockopt(listenfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt)) != 0) 3 { 4 perror("setsockopt"); 5 exit(1); 6 }