相信大家都封装过网络层。 虽然系统提供的网络库以及一些著名的第三方网络库(AFNetworking, Alamofire)已经能满足各种 HTTP/HTTPS的网络请求,但直接在代码里用起来,终归是比较晦涩,不是那么的顺手。所以我们都会倾向于根据自己的实际需求,再封装一个更好用的网络层,加入一些特殊 ...
分类:
其他好文 时间:
2018-11-26 20:26:16
阅读次数:
204
一、scrapy原理 Scrapy 使用了 Twisted异步网络库来处理网络通讯。整体架构大致如下 Scrapy主要包括了以下组件: 引擎(Scrapy)用来处理整个系统的数据流处理, 触发事务(框架核心) 调度器(Scheduler)用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时 ...
分类:
其他好文 时间:
2018-11-24 14:20:06
阅读次数:
194
1、介绍 Tornado 是一个Python web框架和异步网络库 起初由 FriendFeed 开发. 通过使用非阻塞网络I/O, Tornado 可以支持上万级的连接,处理 长连接, WebSockets, 和其他 需要与每个用户保持长久连接的应用。 Tornado 大体上可以被分为4个主要的 ...
分类:
其他好文 时间:
2018-11-06 11:19:27
阅读次数:
196
Telnet回音服务器 Telnet协议是TCP/IP协议族中的一种。它允许用户(Telnet客户端)通过一个协商过程与一个远程设备进行通信。本例将使用一部分Telnet协议与服务器进行通信。 服务器的网络库为了完整展示自己的代码实现了完整的收发过程,一般比较倾向于使用发送任意封包返回原数据的逻辑。 ...
分类:
编程语言 时间:
2018-11-04 14:16:51
阅读次数:
194
前言 多年前开发了一套网络库,底层实现采用IOCP(完成端口)。该库已在公司多个程序中应用;经过多次修改,长时间检验,已经非常稳定高效。 最近把以前的代码梳理了一下,又加进了一些新的思路。代码结构更加合理,性能也有所提升。打算将该库一些的知识点写出来,以供参考。 服务端要在多个端口监听,这种场合并不 ...
分类:
编程语言 时间:
2018-09-28 11:10:16
阅读次数:
331
http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html scrapy 使用Twisted 这个异步网络库来处理网络通信,使用python写的爬虫框架。 scrapy的构造 Scrapy引擎(Engine): 负责控制数据流在系统的 ...
分类:
其他好文 时间:
2018-08-28 13:12:27
阅读次数:
196
evpp是360出品的一个网络库,基于libevent,进行了许多改造,对c++11友好。据称比libevent性能要好。到底有多好呢?360开发人员有自己的测试,信不信由你。 ...
分类:
其他好文 时间:
2018-08-24 10:57:36
阅读次数:
169
Ubuntu虚拟机安装开源库说明: EVPP为奇虎360基于libevent开发的现代化的支持C++11特性的高性能网络库,自带TCP/UDP/HTTP等协议的异步非阻塞式的服务器和客户端库。拥有如下特性: * 现代版的C++11接口* 非阻塞异步接口都是C++11的functional/bind形 ...
分类:
系统相关 时间:
2018-08-01 18:25:28
阅读次数:
1099
pip的安装 将官网的配置文件保存为get pip.py,运行cmd在文件目录中执行python install get pip.py,并配置环境变量到path) pip的安装库 pip install requests安装网络库通过pip pip install r requirements.tx ...
分类:
其他好文 时间:
2018-06-26 22:34:20
阅读次数:
152
muduo是目前我在学习过程中遇到的最具有学习意义的网络库,下文将分析muduo库中的基础设施 Thread和ThreadPool. 首先,介绍在多线程编程中不可缺少的同步措施 Mutex和Condition. + Mutex 有四种操作互斥锁的方式:创建,销毁,加锁,解锁。在muduo中,用一个低 ...
分类:
编程语言 时间:
2018-06-16 19:12:11
阅读次数:
188