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)
上一篇 2022年7月23日 下午6:16
下一篇 2022年7月23日 下午6:36


相关推荐

  • 程序包无效:“CRX_HEADER_INVALID“

    之前在安装谷歌插件的时候遇到的问题,解决方法小技巧1、报错:程序包无效:“CRX_HEADER_INVALID”如图:原因是插件格式不对,谷歌无法进行解析。需要手动解压文件。2、解决方法将下载的crx文件后缀名改为.zip或者后缀名.rar。如果zip不行就改为rar。然后对文件进行解压到指定文件夹,点击加载已解压的扩展程序,选定所解压的指定文件夹。即可:方法参考网上…

    2022年4月1日
    125
  • charles(2)MAC Charles关闭后无法上网[通俗易懂]

    charles(2)MAC Charles关闭后无法上网[通俗易懂]前言charles关闭后,发现网页突然打开了,那大概率是设置了代理,但明明已经关闭了charles,这是由于mac网络偏好设置中,使用的是手动代理,将其改为自动即可解决方法1打开网络偏好设置,

    2022年7月30日
    12
  • 数据库的备份与恢复「建议收藏」

    数据库的备份与恢复「建议收藏」数据库的备份与恢复

    2022年4月25日
    48
  • java 日志查看_Java日志

    日志对于一个系统来说非常重要,查找异常信息、分析系统运行情况等都需要用到日志。所以无论是JDK还是第三方都提供了关于日志的相关工具,本文分别介绍以下几种工具,以及各种工具间的整合、原理。JDK的java.util.logging包第三方日志工具(commons-logging/slf4j,log4j/logback)JDK的java.util.logging包JDK1.4引入了java.util….

    2022年4月6日
    86
  • 京淘商城后台管理系统

    京淘商城后台管理系统京淘商城京淘商城后台管理系统登录 注册界面商品管理新增商品查询商品规格参数网站内容管理内容分类管理内容管理账户管理管理员账户管理普通用户账户管理个人信息习得总结实习总结项目总结心得体会京淘商城后台管理系统基于 SpringBoot 架构搭建京淘后台管理系统 通过 MySQL 数据库技术实现在 CentOS7 中通过 docker 将项目上传 项目具体实现流程是先将数据保存到本地仓库 再将本地仓库中的数据打包成镜像文件上传到中央仓库 每次需要数据的时候再从中央仓库拉取 登录 注册界面通过表单将用户登录的数据与数据库

    2026年3月18日
    2
  • 微信小程序 生成二维码

    微信小程序 生成二维码第一步 wxml 代码第二步 在 utils 下创建 qrcode js 文件第三步 js 代码

    2026年3月19日
    2

发表回复

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

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