缘起

翻开清单,一条条计划一直列在那里,一天又一天,不知道什么时候写下了它,也知不道什么时候完成它,它一直在那静静的等待着。

静下心来,反思自己,才发现自己是多么的无知,多么的没有毅力。设定了无数目标,指定了无数计划,但是到头来呢?都是在无尽的叹息中,放弃了定下的目标。坚持 只是每天不断在内心回响的口号,想起了,就猛地觉醒,要进步、要努力、要坚持、要有目标。但是每每都是拿出计划本亦或是打开清单软件,写下一条有一条的学习计划、读书清单、锻炼计划。写时情绪高昂,“我一定要...”、“我必须要...”、“再不...就要...”、"坚持就能..."。三天打鱼两天晒网,刚开始的激情也就够几天的热乎劲,后面总是再不断给自己找借口,因为这样、因为那样导致我没办法坚持。但是究其原因,还是自己意志力薄弱亦或是没有理清自己的目标到底是什么?

每每鞭策自己,要每天进步一点点,不然要被时代的浪潮抛在沙滩上,但是每次都没懒惰的内心放弃了一个有一个目标,从现在开始我决定转变,不再列那些只存在清单中的计划,不再设置那些设定了就没有去再看一样的目标,从当下出发,知行合一,定了计划就撸起袖子,加油干

计划

一直想系统学习网络编程,一直也是东看看西学学,没有形成系统,同时实践也太少,导致一边不断的再学习,一边不断的还回去。此次通过一步一步实现一个HTTP服务器,来学习理解TCP,HTTP网络协议、理解Socket编程原理、深入学习C++的一些新特性、将Boost使用库用于实践同时开发出一个支持高并发的服务端程序;同时做到跨平台,也借此熟悉下Linux编程。

目录

该系列文章大概沿着如下主线进行:

  1. TCP/IP协议讲解
  2. 系统Socket编程介绍
  3. 并发支持的TCP服务端程序
  4. TCP客户端程序
  5. 封装服务端程序库,方便后期重复利用
  6. HTTP协议介绍
  7. HTTP服务器开发
  8. 支持PHP
  9. 封装HTTP服务器接口

此处系列文章,保障定期更新,大概频率3~4天一篇,通过此处开设博文自己系统学习网络编程,同时也分享自己的学习过程,目标是开发出一个支持高并发的HTTP服务器库,再不断丰富它。


欢迎关注交流共同进步

一步一步实现HTTP服务器-开篇的更多相关文章

  1. 一步一步开发Game服务器(四)地图线程

    时隔这么久 才再一次的回归正题继续讲解游戏服务器开发. 开始讲解前有一个问题需要修正.之前讲的线程和定时器线程的时候是分开的. 但是真正地图线程与之前的线程模型是有区别的. 为什么会有区别呢?一个地图 ...

  2. 一步一步开发Game服务器(三)加载脚本和服务器热更新(二)完整版

    上一篇文章我介绍了如果动态加载dll文件来更新程序 一步一步开发Game服务器(三)加载脚本和服务器热更新 可是在使用过程中,也许有很多会发现,动态加载dll其实不方便,应为需要预先编译代码为dll文 ...

  3. 一步一步开发Game服务器(一)

    什么是服务器?对于很多人来说也许只是简单成为在服务器端运行的程序的确如此,服务器通常意义就是说在服务器端运行的程序而已.那么我们怎么理解和分析游戏服务器哪? 传统意义上来说,程序运行后,正常流程, 启 ...

  4. 一步一步搭建客服系统 (2) 如何搭建SimpleWebRTC信令服务器

    上次介绍了<3分钟实现网页版多人文本.视频聊天室 (含完整源码)>使用的是default 信令服务器,只是为了方便快速开始而已.SimapleWebRTC官方文档里第一条就讲到,不要在生产 ...

  5. 【DG】[三思笔记]一步一步学DataGuard

    [DG][三思笔记]一步一步学DataGuard 它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)..... ...

  6. 一步一步学习GTK

    完成课设,偶然碰到GTK,索性学习一遍 转载自ikoDotA の BLOG (一).一步一步学GTK+之开篇 一.什么是GTK+ GTK+ 是一种函数库是用来帮助制作图形交互界面的.整个函数库都是由C ...

  7. 12.Linux软件安装 (一步一步学习大数据系列之 Linux)

    1.如何上传安装包到服务器 有三种方式: 1.1使用图形化工具,如: filezilla 如何使用FileZilla上传和下载文件 1.2使用 sftp 工具: 在 windows下使用CRT 软件 ...

  8. 一步一步学ROP之linux_x86篇

    一步一步学ROP之linux_x86篇 作者:蒸米@阿里聚安全 ​ 一.序 ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过 ...

  9. 大流量网站性能优化:一步一步打造一个适合自己的BigRender插件

    BigRender 当一个网站越来越庞大,加载速度越来越慢的时候,开发者们不得不对其进行优化,谁愿意访问一个需要等待 10 秒,20 秒才能出现的网页呢? 常见的也是相对简单易行的一个优化方案是 图片 ...

随机推荐

  1. mongodb系列之--mongodb 主从配置与说明

    一.为什么要配置mongodb的主从: 1.做主从,可以说是做数据的备份,有利于故障的恢复 2.做主从,可以做到读写分离,主节点负责写操作,从节点负责读操作,这样就把读写压力分开,保证系统的稳定性. ...

  2. java数据类型易错点简单总结,欢迎大神前辈补充!谢谢

    数据类型那这边看似简单,花了我很长时间也就是才练到几成"功力"吧.还希望路过的大神在下面补充,菜鸟的我深受感谢! 首先看两个思考题 思考题1:请问下面这个有没有问题 double ...

  3. Leetcode_228_Summary Ranges

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/46762039 Given a sorted integer ...

  4. Mybatis的resultType

    使用mybatis去查询数据时,没有指定resultType,mybatis无法返回正常结果,当然在web中并没有出现报错,所以有点坑自己了,所以需要使用如下配置: <select id=&qu ...

  5. Leetocde_290_Word Pattern

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/49717803 Given a pattern and a ...

  6. Universal-Image-Loader源码分析,及常用的缓存策略

    讲到图片请求,主要涉及到网络请求,内存缓存,硬盘缓存等原理和4大引用的问题,概括起来主要有以下几个内容: 原理示意图 主体有三个,分别是UI,缓存模块和数据源(网络).它们之间的关系如下: ① UI: ...

  7. 拆解轮子之XRecyclerView

    简介 这个轮子是对RecyclerView的封装,主要完成了下拉刷新.上拉加载更多.RecyclerView头部.在我的Material Design学习项目中使用到了项目地址,感觉还不错.趁着毕业答 ...

  8. javascript语言扩展:可迭代对象(5)

    文章1-4篇说的都是js中的可迭代对象,下面让我们看看ruby中的等价物. 不可否认,ruby中对于迭代器和生成器的语法都相当简洁:ruby从一开始就有一个简洁的基因,而js后来的不断扩充使得其有些语 ...

  9. webpack安装使用

    一.安装 1.安装node.js,Webpack 需要 Node.js v0.6 以上支持 2.使用npm(软件包管理 )安装webpack (1)全局安装    npm install webpac ...

  10. angular中的jqLite的基本使用方法

    angular.element() 参数要求是HTML string or DOMElement, angular.element 虽然很接近 jQuery,但是直接通过 HTML tag 去获取元素 ...