联系站长

浏览量

socket编程总结

作者:admin 发布时间:2020-06-28

  时间对于我们来说是奢侈品,尤其在当下, 为了能节省大家时间,我在开始讲解socket编程前有列出如下问题五个问题, 请仔细看一下,如果你能对这几个问题认识的很清晰,那说明你对socket很熟悉, 那你也没必要在这边博文上浪费宝贵时间了。 如果这里面有些问题,你还是有不清楚,那请抽时间阅读一下,对阁下来说也是有提高的。 这五个问题如下:

  问题一: socket编程中服务器端和客户端怎么判断?

  问题二:socket编程阻塞编程和非阻塞编程怎么使用,场景是什么呢?

  问题三: select和epoll有啥区别,为啥epoll编程优于select, ET和LT在epoll中有啥区别,为啥ET比LT高效呢?

  问题四: socket只能用于网络编程吗?

  问题一: socket编程中服务器端和客户端怎么判断?

  阁下愿意停留脚步,花时间阅读下面部分的内容。 那就我们也就不废话,直接进入我们的主题,开始第一问题解释,在解释第一个问题前,我先画了关于socket编程客户端和服务端的交互图(图一)。看到这张图,大家应该很熟悉, 每次socket交互都是由客户端发起的, 服务端都是被动等待客户端的请求,给出回应结果。是不是很像我们通过百度/google输入框, 在输入框发起我们的问题, 百度/google给我们答案, 这个时候,我们可以很清楚,我们的个人电脑就是客户端, 而百度/google部署在服务器上, 我们个人电脑发起请求到服务器, 然后服务器给了我们响应。其中判断是不是服务器也是很容易的,服务器端有accept等待客户端发来的请求。

  socket编程总结

  图一

  讲解完服务服务端和客户端, 这边有一个问题, 请大家思考一下: 为啥我们像QQ,微信等应用在打开后,socket链接必须是长连接, 一直保持链接状态,不能断开呢? 文章后面再提供答案。

  问题二:socket编程为什么有阻塞编程和非阻塞编程?

  在这终于讲完了第一个问题, 那开始讲解第二问题啦, socket的阻塞和非阻塞。非阻塞相比于阻塞来讲, 阻塞编程简单点, 缺点也很明显,在并发处理上能力比非阻塞弱(IO吞吐率上不同)。这个是由于他们处理的差异导致的。 为了形象的解释吞吐率上的差异,我提供了三张图(图片2,图片3,图片4), 请阁下先看看, 给一下三张图的效率高低顺序。

  socket编程总结

上一篇:L358 无线网络设置说明(For Win XP用户)

下一篇:没有了

网友吐槽

推荐阅读

创业故事

友情链接

365备 365体 365BET 365体

Copyright © 2002-2011 dafa888下载 版权所有