udp 使用connect优点_udp調用connect的作用總結

1:UDP中可以使用connect系統調用

2:UDP中connect操作與TCP中connect操作有着本質區別.TCP中調用connect會引起三次握手,client與server建立連結.UDP中調用connect內核僅僅把對端ip&port記錄下來.

3:UDP中可以多次調用connect,TCP只能調用一次connect.UDP多次調用connect有兩種用途:1,指定一個新的ip&port連結.2,斷開和之前的ip&port的連結.指定新連結,直接設置connect第二個參數即可.斷開連結,需要將connect第二個參數中的sin_family設置成 AF_UNSPEC即可.

4:UDP中使用connect可以提高效率.原因如下:普通的UDP發送兩個報文內核做了如下:#1:建立連結#2:發送報文#3:斷開連結#4:建立連結#5:發送報文#6:斷開連結

采用connect方式的UDP發送兩個報文內核如下處理:#1:建立連結#2:發送報文#3:發送報文  另外一點,每次發送報文內核都由可能要做路由查詢.5:采用connect的UDP發送接受報文可以調用send,write和recv,read操作.當然也可以調用sendto,recvfrom.調用sendto的時候第五個參數必須是NULL,第六個參數是0.調用recvfrom,recv,read系統調用只能獲取到先前connect的ip&port發送的報文.

UDP中使用connect的好處:1:會提升效率.前面已經描述了.2:高並發服務中會增加系統穩定性.原因:假設client A 通過非connect的UDP與server B,C通信.B,C提供相同服務.為了負載均衡,我們讓A與B,C交替通信.    A與 B通信IPa:PORTa IPb:PORTb       A與 C通信IPa:PORTa' IPc:PORTc

假設PORTa與 PORTa'相同了(在大並發情況下會發生這種情況),那么就有可能出現A等待B的報文,卻收到了C的報文.導致收報錯誤.解決方法內就是采用connect的UDP通信方式.在A中創建兩個udp,然后分別connect到B,C.

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
<p> <b><span style="background-color:#FFE500;">【超实用课程内容】</span></b> </p> <p> <br /> </p> <p> <br /> </p> <p> 本课程内容包含讲解<span>解读Nginx基础知识,</span><span>解读Nginx核心知识、带领学员进行</span>高并发环境下Nginx性能优化实战,让学生能够快速将所学融合到企业应用中。 </p> <p> <br /> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><br /> </b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><span style="background-color:#FFE500;">【课程如何观看?】</span></b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> PC端:<a href="https://edu.csdn.net/course/detail/26277"><span id="__kindeditor_bookmark_start_21__"></span></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 移动端:CSDN 学院APP(注意不是CSDN APP哦) </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 本课程为录播课,课程永久有效观看时长,大家可以抓紧时间学习后一起讨论哦~ </p> <p style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <strong><span style="background-color:#FFE500;">【学员专享增值服务】</span></strong> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b>源码开放</b> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 下载方式:电脑登录<a href="https://edu.csdn.net/course/detail/26277"></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a>,播放页面右侧点击课件进行资料打包下载 </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p>
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页