RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络,从远程计算机程序上请求服务,而不必了解底层网络技术的协议。说的再直白一点,就是客户端在不必知道调用细节的前提之下,调用远程计算机上运行的某个对象,使用起来就像调用本地的对象一样。目前典型的RPC实现框架有:Thrift(facebook开源)、Dubbo(alibaba开源)等等。RPC框架针对网络协议、网络I/O模型的封装是透明的,对于调用的客户端而言,它就认为自己在调用本地的一个对象。至于传输层上,运用的是TCP协议、UDP协议、亦或是HTTP协议,一概不关心。从网络I/O模型上来看,是基于select、poll、epoll方式、还是IOCP(I/O Completion Port)方式承载实现的,对于调用者而言也不用关心。
分类:
Web程序 时间:
2018-10-28 20:47:27
阅读次数:
221
一、I/O多路复用概念: 监听多个描述符的状态,如果描述符状态改变,则会被内核修改标志位,从而被进程获取进而进行读写操作 二、select,poll,epoll select模块,提供了:select、poll、epoll三个方法,分别调用系统的 select,poll,epoll 从而实现IO多路 ...
分类:
编程语言 时间:
2018-10-17 22:10:41
阅读次数:
212
一面: 1.简要介绍项目; 2.select(),poll(),epoll()函数用法 3.介绍TCP和UDP 4.合并两个有序链表,生成一个新的有序链表 5.二叉树查找路径 (4,5都是剑指offer上的题) 6.哈希表相关知识 7.读写锁 二面: 1.简要介绍TCP和UDP 2.介绍项目 3.说 ...
分类:
其他好文 时间:
2018-10-11 23:46:37
阅读次数:
306
select多并发socket例子: #_*_coding:utf-8_*_ __author__ = 'Alex Li' import select import socket import sys import queue server = socket.socket() server.setb ...
分类:
其他好文 时间:
2018-09-27 01:49:24
阅读次数:
170
一. 核心思想 I/O 事件注册到多路复用器; 触发的I/O 事件分发到事件处理器中,执行就绪 I/O 事件对应的处理函数中。模型中有三个重要的组件: 多路复用器:由操作系统提供接口,Linux 提供的 I/O 复用接口有select、poll、epoll 。 事件分离器:将多路复用器返回的就绪事件 ...
分类:
编程语言 时间:
2018-09-21 01:03:26
阅读次数:
179
接着上文 "IO多路复用(一) Select、Poll、Epoll" ,接下来将演示一个TCP回射程序,源代码来自于该博文https://www.cnblogs.com/Anker/p/3258674.html 博主的几篇相关的文章,在这里将其进行了整合,突出select、poll和epoll不同方 ...
分类:
其他好文 时间:
2018-09-14 17:27:50
阅读次数:
192
本文来自:https://www.cnblogs.com/aspirant/p/9166944.html (1)select==>时间复杂度O(n) 它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对 ...
分类:
其他好文 时间:
2018-09-10 13:27:01
阅读次数:
160
Linux的网络通信先后推出了select、poll、epoll三种模式。 select有以下三个问题: (1)每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大。 (2)同时每次调用select都需要在内核遍历传递进来的所有fd,这个开销在fd很多时也很大。 ( ...
分类:
系统相关 时间:
2018-09-05 00:47:19
阅读次数:
253
基本上select有3个缺点: - 连接数受限 - 查找配对速度慢 - 数据由内核拷贝到用户态 poll改善了第一个缺点 epoll改了三个缺点. ...
分类:
其他好文 时间:
2018-08-30 11:11:01
阅读次数:
129
贴两个超级不错的博客 1.Linux IO模式及 select、poll、epoll详解 2.网络 I/O 模型 ...
分类:
其他好文 时间:
2018-08-06 20:59:55
阅读次数:
144