在socket编程中,包括有连接和无连接两种方式,其流程如下:
有连接:
TCP客户端的流程一般是 socket-【bind】-connect-send/recv
无连接:
UDP客户端的流程一般是 socket-【bind】-sendto/recvfrom

send与sento相比,没有提供对方的地址,在有连接模式中, 连接已经事先建立好,当然不需要每次都提供对方地址。但是,即使在无连接模式中,当准备连接向同一个目标发送很多个报文时,每次都要提供对方的地址,这样 既麻烦又降低效率。其实可以简化一下,先预设一个对方地址,随后就采用send来发送,而不必都重复地提供相同的地址。事实上,对于无连接模式中,可以用 connect先设置一定对方地址,然后用send发送报文,而实际上每次都使用预先设置好的地方地址,但是,在无连接中使用connect和有连接中使 用connect有本质的区别,在无连接模式中,connect的作用只是让内核为本地插口记下预设的对方地址,而不涉及与对方之间控制报文的往返。

关于send和recv在UDP的使用相关推荐

  1. 【Socket网络编程】12. send()、recv()、sendto() 和 recvfrom() 函数解析

    send().recv().sendto()和recvfrom()函数解析 一般情况下,send().recv()在TCP协议下使用,sendto().recvfrom()在UDP协议下使用,也可以在 ...

  2. linux设置send时间,[转]Socket 的send,recv在windows与linux下的超时设置

    从昨天到今天一真在搞这个网络断线检测的问题,一直没搞好,网上大多都说用ping 可以搞定,不过我就是搞不定,没办法之下想了个不是办法的办法,在 服务器上开了一个 UDP端口,监听数据,然后回发,不用T ...

  3. socket之send和recv原理剖析

    socket之send和recv原理剖析 1. 认识TCP socket的发送和接收缓冲区 当创建一个TCP socket对象的时候会有一个发送缓冲区和一个接收缓冲区,这个发送和接收缓冲区指的就是内存 ...

  4. linux内核中send与recv函数详解

    Linux send与recv函数详解 1.简介 #include <sys/socket.h> ssize_t recv(int sockfd, void *buff, size_t n ...

  5. linux send与recv函数详解

    linux send与recv函数详解 1 #include <sys/socket.h> 2 ssize_t recv(int sockfd, void *buff, size_t nb ...

  6. recv函数_第五十二章、send和recv函数

    套接字之间一旦建立了连接,那么就可以传送数据了,上一章我们使用的是标准读写函数read和write,这一章我们再来学习另外两个函数recv和send函数. recv和send函数只能用于套接字,还需要 ...

  7. socket的阻塞模式和非阻塞模式(send和recv函数在阻塞和非阻塞模式下的表现)

    socket的阻塞模式和非阻塞模式 无论是Windows还是Linux,默认创建socket都是阻塞模式的 在Linux中,可以再创建socket是直接将它设置为非阻塞模式 int socket (i ...

  8. socket api中send()和recv()函数工作原理与要点

    send()和recv()函数是网络编程中经常使用到的函数,下面详细的比较两者的不同之处 send函数工作原理: send函数只负责将数据提交给协议层. 当调用该函数时,send先比较待发送数据的长度 ...

  9. linux Socket send与recv函数详解

    转自:http://www.cnblogs.com/blankqdb/archive/2012/08/30/2663859.html linux send与recv函数详解 1 #include &l ...

最新文章

  1. matlab全景图像拼接_带你认识网络高清全景监控摄像机
  2. DL之MaskR-CNN:Mask R-CNN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  3. javascript canvas九宫格小程序
  4. java 工厂方法模式_Java中的工厂方法模式
  5. 有必要考国二mysql_计算机二级必须要考吗
  6. android ffmpeg编译so,Android FFmpeg学习(一),将FFmpeg编译成so文件
  7. AndroidStudio安卓原生开发_android按钮防止短时间内连续点击_在android_java中都能使用---Android原生开发工作笔记131
  8. 【干货】基于内容理解的新闻推荐.pdf(附下载链接)
  9. 解析activity之间数据传递方法的详解
  10. 想拿高工资?那些年Java面试官常问的知识点项目实战
  11. WT2003HX语音芯片IC在儿童玩具产品的应用设计方案
  12. python 简单快速爬取豆瓣电影热播名单
  13. 犹太人一直被誉为高智商的民族——那么犹太人天生就很聪明吗?听听他们自己的解释:...
  14. Zabbix自动发现和自动注册
  15. cf全屏下面桌面任务栏_还有玩CF时,下面会有任务栏。也就是说不能全屏!请问怎么回事...
  16. HMS-广告服务(Banner广告)
  17. linux电脑关机命令是什么问题,linux下正常关机之命令详解 -电脑资料
  18. easyrecovery2023最新免费版电脑数据恢复软件使用教程
  19. 部门管理中非递归搜索部门以及所管辖下部门
  20. python输出字符的ascii码_如何获取一个字符的ASCII码

热门文章

  1. 凸优化、轨迹优化、最优控制
  2. 泰坦尼克号Python数据分析
  3. 工作态度决定了你的层次
  4. 哪些单位可以解决户口?附落户北京渠道
  5. 【C++ 程序】 TVJ Complex Calculator (v 2.2) 复数计算器
  6. 使用lupdate生成Qt的ts翻译文件
  7. graphpad如何检测方差齐_【求助】急求如何用Graphpad Prism6 做析因设计方差分析?谢谢各位大神...
  8. 学生党直呼哇塞的几个超好用工具
  9. 蚂蚁金服旗下网商银行招聘了
  10. 饥荒启动服务器显示error,Win10电脑运行饥荒游戏提示error during initialization解决方法...