bind函数,在建立了socket文件描述字成功之后,需要对socket进行地址和端口的绑定(bind),此时需要用到bind函数。
函数原型
int bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen);
函数说明
sockfd:socket函数建立的文件描述字;
my_addr:指向sockaddr结构体的指针;
struct sockaddr_can {
__kernel_sa_family_t can_family;
int can_ifindex;
union {
/* transport protocol class address information (e.g. ISOTP) */
struct { canid_t rx_id, tx_id; } tp;
/* reserved for future CAN protocols address information */
} can_addr;
};
addrlen:my_addr结构体的长度,可以设置为sizeof(struct sockaddr);
返回值:返回值为0时,则绑定成功;-1,则绑定失败。
e.g.
bind(sock_fd, (struct sockaddr*)&addr, sizeof(addr));