int sockfd = socketAF_INET SOCK_DGRAM 0; int on=1; setsockoptsockfd SOL_SOCKET SO_REUSEADDR &on sizeofon; 2 绑定地址 struct sockaddr_in addr; socklen_t len = sizeofaddr; bzero&addr len; addrsin_family =
以上代码首先调用socket()函数创建了一个UDP套接字。参数AF_INET表示使用IPv4协议,SOCK_DGRAM表示创建一个数据报套接字,0表示使用默认的协议。
接下来,调用setsockopt()函数设置了套接字选项SO_REUSEADDR,这个选项的作用是允许多个套接字绑定到同一个地址和端口上。第一个参数是套接字描述符,第二个参数是选项所在的协议层,第三个参数是选项的值,第四个参数是选项的值的大小。
然后,通过调用bzero()函数将addr结构体清零,将其余成员都设为0。然后设置addr.sin_family为AF_INET,表示使用IPv4协议,addr.sin_addr.s_addr设置为inet_addr("192.168.2.141"),表示将IP地址设置为192.168.2.141,addr.sin_port设置为htons(50001),表示将端口号设置为50001。
最后,调用bind()函数将套接字与指定的地址绑定起来。第一个参数是套接字描述符,第二个参数是指向要绑定的地址结构体的指针,第三个参数是地址结构体的大小。
原文地址: http://www.cveoy.top/t/topic/i0Gl 著作权归作者所有。请勿转载和采集!