C語言 bind()函數(shù)
bind()函數(shù)用于將套接字與指定端口相連,其原型如下:
int bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen);
當(dāng)調(diào)用socket()函數(shù)創(chuàng)建套接字后,該套接字并沒有與本機(jī)地址和端口等信息相連,bind()函數(shù)將完成這些工作。bind()函數(shù)中的sockfd參數(shù)為調(diào)用socket()函數(shù)后返回的文件描述符。my_addr參數(shù)為指向sockaddr結(jié)構(gòu)體的指針(該結(jié)構(gòu)體中保存有端口和IP地址信息)。addlen參數(shù)為結(jié)構(gòu)體 sockaddr的長度。
bind()函數(shù)常見的錯(cuò)誤信息:
? EACCES:地址受到保護(hù),用戶非超級用戶。
? EADDRINUSE:指定的地址已經(jīng)在使用。
? EBADF:sockfd參數(shù)為非法的文件描述符。
? EINVAL:socketO已經(jīng)和地址綁定。
? ENOTSOCK:參數(shù)sockfd為文件描述符。
點(diǎn)擊加載更多評論>>