左雪菲的专栏

欢迎访问我的个人网站:http://www.hootina.org

排序:
默认
按更新时间
按访问量

从零实现一个http服务器

我始终觉得,天生的出身很重要,但后天的努力更加重要,所以如今的很多“科班”往往不如后天努力的“非科班”。所以,我们需要重新给“专业”和“专家”下一个定义:所谓专业,就是别人搞你不搞,这就是你的“专业”;你和别人同时搞,你比别人搞的好,就是“专家”。说到http协议和http请求,很多人都知道,但是...

2018-05-18 12:44:42

阅读数:412

评论数:1

服务器端编程心得(七)——开源一款即时通讯软件的源码

        在我的《服务器端编程心得》这个系列的第一篇至第六篇都是讲了一些零散的不成体系的网络编程细节。今天,在这篇文章中,我将介绍一款我自主开发的即时通讯软件flamingo(中文:火烈鸟),并开源其服务器和pc客户端代码。以此来对前几篇文章中说到的理论进行实践。       代码在gith...

2017-04-06 22:57:01

阅读数:14540

评论数:12

服务器端编程心得(六)—— 关于网络编程的一些实用技巧和细节

这些年,接触了形形色色的项目,写了不少网络编程的代码,从windows到linux,跌进了不少坑,由于网络编程涉及很多细节和技巧,一直想写篇文章来总结下这方面的心得与经验,希望对来者有一点帮助,那就善莫大焉了。      本文涉及的平台包括windows和linux,下面开始啦。一、非阻塞的的co...

2017-03-07 16:29:16

阅读数:2977

评论数:1

服务器编程心得(五)—— 如何编写高性能日志

一、服务器端日志与客户端日志的区别        在正式讲解之前,我们先来看一个日志类的实现方法,这个日志类也是代表中大多数客户端日志的主流写法: /** *@desc: 程序运行log类,log.h *@author: zhangyl *@date: 2017.01.17 ...

2017-03-07 11:57:32

阅读数:1948

评论数:1

服务器端编程心得(三)—— 一个服务器程序的架构介绍

本文将介绍我曾经做过的一个项目的服务器架构和服务器编程的一些重要细节。 一、程序运行环境 操作系统:centos 7.0 编译器:gcc/g++ 4.8.3     cmake 2.8.11 mysql数据库:5.5.47 项目代码管理工具:VS2013 一、程序结构 该程序总共有17个线程,...

2016-12-02 00:36:02

阅读数:9552

评论数:4

服务器端编程心得(二)—— Reactor模式

最近一直在看游双的《高性能linux服务器编程》一书,书上是这么介绍Reactor模式的: 按照这个思路,我写个简单的练习: /** *@desc: 用reactor模式练习服务器程序 *@author: zhangyl *@date: 2016.11.23 */ ...

2016-11-24 15:12:36

阅读数:5108

评论数:9

服务器端编程心得(一)—— 主线程与工作线程的分工

服务器端为了能流畅处理多个客户端链接,一般在某个线程A里面accept新的客户端连接并生成新连接的socket fd,然后将这些新连接的socketfd给另外开的数个工作线程B1、B2、B3、B4,这些工作线程处理这些新连接上的网络IO事件(即收发数据),同时,还处理系统中的另外一些事物。这里我们...

2016-11-04 14:04:35

阅读数:4329

评论数:5

服务器编程心得(四)—— 如何将socket设置为非阻塞模式

1. windows平台上无论利用socket()函数还是WSASocket()函数创建的socket都是阻塞模式的: SOCKET WSAAPI socket( _In_ int af, _In_ int type, _In_ int protocol ); SOCKET W...

2016-11-04 13:11:21

阅读数:16168

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭