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.

UDP服务器也可以使用connect,如上面所述,connect可以用来指明目的地址
/端口;这将导致服务器只接受特定一个主机的请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值