重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
最近在学C++,翻了几次菜鸟教程后,想写个项目练练手。之前了解过ngrok,一个内网穿透工具,简单讲就是在内网中部署自己的服务,通过这个工具,可以让公网上的用户访问到服务。
成都创新互联公司专业为企业提供金水网站建设、金水做网站、金水网站设计、金水网站制作等企业网站建设、网页设计与制作、金水企业网站模板建站服务,十余年金水做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
之前看了部分源码,想把自己的一些优化想法用C++实现一下,所以断断续续花了2个多月写了C++版本的CProxy。
写的过程中不断充实C++的相关知识(不得不说C++的特性是真的多。。。),同时也对网络底层有了更深的了解,比如一个连接如何复用?如何处理数据传输的逻辑?如何处理链接的断开?
写下这个教程有以下两个目的:
我希望的是有一点C++基础和网路基础的读者就能看懂学到一些东西。当然肯定有些地方可能会写的不清楚,读者可以留言谈论,有空一定回复,并完善文章。
整个项目会涉及到IO多路复用、多线程Reactor模型、零拷贝、网络底层数据传输处理等方面,我会在对应章节上附上自己之前参考的文章,帮助读者理解。
有能力的大佬可以先看看CProxy的代码,自认能力一般,水平有限,如果发现有bug或者有更好的实现欢迎提issue或PR。
https://github.com/lzs123/CProxy.git
教程暂定有以下内容:
本教程的每个章节的代码会上传到CProxy-tutorial,star and fork, respect!!
day01-从一个基础的socket服务说起