形象的打比方来介绍下对TCP UDP SOCEKT的理解吧,一看都懂哟(最易懂)

       对于TCP协议来说, SOCKET就相当于是一个现实生活中的个人招待所. 首先来说个人招待所要有个位置,所以通过bind, 把这个个人招待所的位置确定好, 个人招待所的服务员也得要得到消息了才能够上班来接待顾客, 所以要listen,。客户现在就可connect到接待处, 任何客户要进入, 都首先得要被个人招待所Accept, 得到一个临时通行证, 才能够在个人招待所里进行各种业务, 而被接待后, 有什么事, 得要拿临时通行证来识别每一个客户, 而轮到服务某个客户的时间, 也是通过这个临时通行证呼叫客户才能够通信。

        所以 TCP 的服务器, 创建SOCKET, bind, listen, accept, 然后再用accept回来的客户专用临时通行证进行交流. 客户走的时候也必须把临时通行证回收, 也就是关闭accept回来的socket.

       由此可见TCP有用于监听的套接字和用于接待的的套接字,共两个。


        对于UDP协议来说, SOCKET就相当于想是生活中的网络客服, 一个网络客服可以同时服务N个顾客, 只要顾客发消息过来了, 这个网络客服就可以跟顾客进行联系, 并且这个网络客服可以处理很多消息, 任何顾客发消息过来,网络客服都迅速的同时处理这些消息. 但是, 只要顾客不来消息联系网络客服,网络客服就没什么必要主动联系. 
        UDP的服务器, 只要bind以后就可以直接等待recvfrom, 有人sendto东西过来, 就立即做事, 没有sendto过来, 也没什么必要做事. 虽然不排除服务器隔开一段时间后主动向客户发送东西, 但这个客户到底还在不在, 已经不知道了. 所以一般服务器是懒得动的,所以udp只要知道IP地址和端口号就可以连接了,其他的不用理会。 
         由此可见udp只需要一个套接字就可以了。

再总结下吧,从这上面的流程看得出来了吧:
        tcp有监听还有能接待,比较负责,也就是说它的可靠性好,安全性高,但是效率要差点。
        udp来说,虽然他不像tcp那么负责,也就是他可靠性不高,但是有信息来他马上就直接处理,说明他效率高。
 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值