基于UDP的服务端/客户端

1.UDP为什么比TCP速度快?

答:(1)因为TCP收发数据前后进行的连接设置及清除过程

       (2)TCP收发数据过程中为保证可靠性而添加的流控制

2.为什么TCP数据传输可靠而UDP数据传输不可靠?

答:因为TCP为了提供可靠的数据传输服务,TCP在不可靠的IP层进行流控制,而UDP就缺少这种流控制机制。

3.使用sendto传输数据过程:

答:第一阶段:向UDP套接字注册目标IP和端口号

        第二阶段:传输数据

         第三阶段:删除UDP套接字中注册的目标地址信息

4.UDP特点:

  答:(1):在UDP中,无论是服务器端还是客户端,都只需要一个套接字,只需要一个套接字就可以向任意主机传输数据

         (2):connect函数不区分TCP/UDP,当UDP调用connect函数后,并不意味着要与对方UDP套接字连接,这只是向UDP套接字注册目标IP和端口信息。调用connect后不仅可以使用sendto,recvfrom,还可以使用write,read进行通信。

5.UDP数据报向对方主机的UDP套接字传递过程中,IP和UDP分别负责哪些部分?

答:IP负责节点之间数据包的传送,IP将数据包传送到节点之后,并不能识别节点上的不同应用,UDP用端口表示这些不同的应用来加以识别,增加了端口信息。而TCP还加入了更复杂的传输控制。

6.UDP一般比TCP快,但根据交换数据的特点,其差异可大可小,请说明何种情况下UDP的性能大于TCP?

答:如果每次收发的数量小但需要频繁连接时,UDP比TCP更高效。每次收发的数据量越大,TCP的传输速率就越接近UDP的传输速率。

7.客户端TCP套接字调用connect函数时自动分配IP和端口号。而客户端UDP中不调用connect函数,那何时分配IP和端口号?

答:在首次调用sendto函数时给出相应套接字自动分配ip和端口号,而且此时分配的地址以值保留到程序结束。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值