ios下编写udp Socket时遇到的问题:
int sockfd = socket(AF_INET, SOCK_DGRAM, 0);
bzero((char *)&ca, sizeof(ca));ca.sin_family = AF_INET;
ca.sin_addr.s_addr = htonl(INADDR_ANY);
ca.sin_port = htons(SERV_UDP_PORT);
int struct_len = sizeof(ca);
int len = -1;
len = sendto(sockfd, recvline, str_len, 0, (struct sockaddr *)&ca,struct_len); //发送数据
len = recvfrom(sockfd, recvline, 512, 0, (struct sockaddr *) &ca, struct_len); //接受数据--------------------------错误写法
------发送与接收方法实在太像了,一粗心又copy了下,就错误了。【从此recvfrom返回的值永远的停留在==-1】
len = recvfrom(sockfd, recvline, 512, 0, (struct sockaddr *) &ca, (socklen_t *)&struct_len); //接受数据-------正确写法
ps:写代码还是必须要有耐心与细心的。
本文介绍了在iOS开发中使用UDP Socket时常见的错误,特别是关于sendto和recvfrom函数的区别与正确用法,强调了编程时耐心与细心的重要性。
5214

被折叠的 条评论
为什么被折叠?



