linux基础之 创建一个UDP socket
来源:互联网 发布:程序员考试时间 编辑:程序博客网 时间:2024/05/16 08:57
UDP socket
int bind_server_udp1(int server_s){struct sockaddr_in local_addr;memset(&local_addr,0,sizeof(local_addr));//set 0 for everythinglocal_addr.sin_family = AF_INET;//AF_INET(又称 PF_INET)是 IPv4 网络协议的套接字类型,AF_INET6 则是 IPv6 的;而 AF_UNIX 则是 Unix 系统本地通信local_addr.sin_addr.s_addr = htonl(INADDR_ANY);//INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”local_addr.sin_port = htons(3702);/* Give the socket FD the local address ADDR (which is LEN bytes long).将一本地地址与一套接口捆绑 int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len);*/return bind(server_s,(struct sockaddr*)&local_addr,sizeof(local_addr));}static int create_server_socket_udp(void){int server_udp;unsigned char one = 1;int sock_opt = 1;//server_udp = socket(PF_INET, SOCK_DGRAM, 0);server_udp = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);if (server_udp == -1) {printf("unable to create socket\n");}/* reuse socket addr, SO_REUSERADDR 允许重用本地地址和端口 int充许绑定已被使用的地址(或端口号)*/if ((setsockopt(server_udp, SOL_SOCKET, SO_REUSEADDR, (void *) &sock_opt,sizeof (sock_opt))) == -1) {printf("setsockopt\n"); }/*IP_MULTICAST_LOOP组播组中的成员自己也会收到它向本组发送的报文。这个选项用于选择是否激活这种状态。*/if ((setsockopt(server_udp, IPPROTO_IP, IP_MULTICAST_LOOP,&one, sizeof (unsigned char))) == -1) {printf("setsockopt\n"); }/* IPv4 multicast request. IP_ADD_MEMBERSHIP struct ip_mreq 加入到组播组中 */struct ip_mreq mreq;mreq.imr_multiaddr.s_addr = inet_addr("239.255.255.250");mreq.imr_interface.s_addr = htonl(INADDR_ANY);if(setsockopt(server_udp,IPPROTO_IP,IP_ADD_MEMBERSHIP,&mreq,sizeof(mreq))==-1){perror("memberchip error\n");}return server_udp;}
1 0
- linux基础之 创建一个UDP socket
- Linux 编程之 【socket】 udp
- Linux之UDP SOCKET 编程
- Socket基础之服务端(基于UDP)
- Socket基础之客户端(基于UDP)
- Socket基础之客户端(基于UDP)
- Socket基础之服务端(基于UDP)
- java基础之网络(UDP-Socket)
- 【Linux】Linux C socket 编程之UDP
- Socket基础之通过UDP协议传递一个long类型数
- Linux下Socket编程之UDP原理
- Linux下Socket编程之UDP应用
- linux socket编程之TCP与UDP
- linux socket编程之TCP与UDP
- Linux下Socket编程之UDP应用
- Linux C socket编程之UDP
- linux socket编程之TCP与UDP .
- linux socket编程之TCP与UDP
- 背包系列第四篇----完全背包(求解最大价值)
- 设计模式(四)代理模式
- Maven依赖排除 禁止依赖传递 取消依赖的方法 去除jar包中的不想要的依赖关系
- 欧拉函数
- Css简介
- linux基础之 创建一个UDP socket
- unity5.3.3 no pc,mac&linux standalone
- cf273C. Primes on Interval【二分】
- Java 设计模式- 外观模式
- 恋恋加密算法解析
- TimesTen访问Oracle的口令存在哪里(ttCacheUidPwdSet还是OraclePWD)
- untiy 3d ShaderLab_第 2 章Unity中Shader(着色器)的形态_3_Shader的数据接口:属性和 uniform变量
- 在Java中如何高效判断数组中是否包含某个元素
- shiro多角色访问同一个url