recvfrom为何老是返回-1[通俗易懂]

recvfrom为何老是返回-1[通俗易懂]ios下编写udpSocket时遇到的问题:intsockfd=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_

大家好,又见面了,我是你们的朋友全栈君。

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:写代码还是必须要有耐心与细心的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163427.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号