对于函数:

 if(len = recvfrom(sockfd,buf,BUFSIZ,0,(struct sockaddr *)&remote_addr,size_len)<0){perror("recvfrom");return 1;}

编译出现警告:

udpserver.c: In function ‘main’:
udpserver.c:31: warning: passing argument 6 of ‘recvfrom’ makes pointer from integer without a cast
/usr/include/sys/socket.h:166: note: expected ‘socklen_t * __restrict__’ but argument is of type ‘int’

运行之后出现:

recvfrom: Bad address

通过man recvfrom

      ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,struct sockaddr *src_addr, socklen_t *addrlen);

修改如下:

 if(len = recvfrom(sockfd,buf,BUFSIZ,0,(struct sockaddr *)&remote_addr,&size_len)<0){perror("recvfrom");return 1;}

recvfrom: Bad address相关推荐

  1. 测试人必会:Python带你上手WebSocket

    关于Socket那些事 Socket,即网络套接字,是双向通信通道的端点(是抽象的). 套接字可以在一个进程内.同一台机器上的进程之间,或者在不同机器上的进程之间进行通信. 网络套接字可以通过多种不同 ...

  2. 网络编程学习笔记(recvfrom很奇怪的一个地方)

    recvfrom的最后一个参数不赋值时,返回的是一个很大的数.赋值后就是正常的 服务器端: #include <sys/socket.h> #include <netinet/in. ...

  3. UDP广播之socket bad address 错误被解决,舒服

    在编写UDP广播程序编写完后,一编译,提示socket bad address.后面查资料得知在读取socket缓冲的时候,发送端sendto返回值正常,接收端recvfrom却读不到信息,是因为指针 ...

  4. UDP sendto和recvfrom使用详解

    在网络编程中,UDP运用非常广泛.很多网络协议是基于UDP来实现的,如SNMP等.大家常常用到的局域网文件传输软件飞鸽传书也是基于UDP实现的. 本篇文章跟大家分享linux下UDP的使用和实现,主要 ...

  5. recv, recvfrom, recvmsg

    recv,recvfrom,recvmsg函数用于从套接字接收信息. ssize_t recv (int s, void *buf, size_t len, int flags); ssize_t r ...

  6. 2-3:套接字(Socket)编程之UDP通信,sockaddr,sockaddr_in,recvfrom,sendto

    文章目录 一:回顾 二:彻底了解套接字和struct socket结构 (1)一切皆文件-文件描述符-套接字描述符 (2)struct socket结构 A:struct socket结构体作用 B: ...

  7. Linux下Socket通信中非阻塞connect、select、recv 和 recvfrom、send和sendto大致讲解,附带非租塞connect代码、MSG_NOSIGNAL

    linux中send函数MSG_NOSIGNAL异常消息 在服务器端用ctrl+c 来结束服务器接收进程来模拟服务器宕机的情况,结束服务 socket 进程之后,服务端自然关闭进程,可是 client ...

  8. Linux 源码分析 之 raw socket 分析 一 recvfrom过程

    RAW socket接收数据过程 1.用户层接收逻辑 bytes = recvfrom(fd, buf, length, NULL, NULL) 使用recvfrom接口,参数与udp类似. 2.系统 ...

  9. recvfrom的addrlen参数

    昨天用recvfrom去接收数据,好久没有过这个函数,按照man的手册,一个一个传参,但是遇到一个问题,数据可以接收正常,但是总是errno一直为22,并且sendto一直失败返回-1.这里做一下记录 ...

最新文章

  1. TensorFlow练习18: 根据姓名判断性别
  2. Nginx服务器不支持PATH_INFO的问题及解决办法
  3. 图书馆自动化系统 Evergreen 3.3 发布,迁移到 Angular
  4. window下tomcat的内存溢出问题
  5. 需求用例分析之备选流
  6. C#导出Excel总结
  7. 前端打包利器webpack里utils.cssLoaders的工作原理调试
  8. DataGridView控件机制及使用大全
  9. 页面时间日期星期实时显示
  10. java 反射data类型_java反射机制系列之初识Java Reflection
  11. 解决XP的IIS HTTP 500”内部服务器错误
  12. 23_触发器_库存与订单实战
  13. 用WPF+MongoDB开发房产信息收集器(4)——房产信息采集器总体介绍附程序下载
  14. 浅复制和深复制的区别?//浅拷贝和深拷贝
  15. SQL Server压缩日志及数据库文件大小
  16. java 类修饰符 作用域_java的4种内部类,你真的了解了吗?
  17. cs1.6修改服务器参数设置,cs1.6比赛服务器设置参数
  18. 蓝蓝的天空上飘着白云,白云的下面藏着雪白的羊群 ---- 刘烨
  19. 平面设计师okr_设计团队如何推进OKR,实现设计赋能?
  20. 【蓝桥杯】~C语言数组排序

热门文章

  1. html自定义select样式,自定义select样式
  2. batch norm的作用
  3. 云计算与大数据---21大数据张舒
  4. 网线每根的含义以及类别和距离传输问题
  5. 白杨SEO:SEO转型难吗?SEO如何转型ASO(应用商店搜索优化)?
  6. ikbc键盘组合功能键
  7. GNSS星历数据读取
  8. Java并发编程简介
  9. Python3.x:第三方库简介
  10. 启动(程序还没执行生成dump文件的代码)就崩溃的处理流程