
后台开发
文章平均质量分 81
_suzhou
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
服务器编程入门(1)TCP/IP协议族
问题聚焦:简单地梳理一下TCP/IP各层的功能和常用协议详细了解ARP(数据链路层)和DNS(应用层)协议的工作原理原创 2014-01-22 19:35:49 · 4139 阅读 · 2 评论 -
服务器编程入门(10)TCP回射服务器实现 - 并发
问题聚焦: 在前面我们大概浏览了一下服务器编程需要掌握的一些知识和技术,以及架构思想。 实践,才是检验真理的唯一标准。。从这节起我们将在这些技术的基础上,一步步实现以及完善一个服务器,同时也是对这些技术的更深入的思考。 本节我们将实现一个简单的回射服务器,包括TCP连接,文本处理,并发(多进程实现),以及子进程退出后的处理动作。功能描述原创 2014-03-27 19:37:10 · 1831 阅读 · 0 评论 -
服务器编程入门(9)多线程编程
问题聚焦: 在简单地介绍线程的基本知识之后,主要讨论三个方面的内容: 1 创建线程和结束线程; 2 读取和设置线程属性; 3 线程同步方式:POSIX信号量,互斥锁和条件变量。原创 2014-03-07 14:19:04 · 1752 阅读 · 0 评论 -
服务器编程入门(8)多进程编程
问题聚焦: 进程是Linux操作系统环境的基础。 本篇讨论以下几个内容,同时也是面试经常被问到的一些问题: 1 复制进程映像的fork系统调用和替换进程映像的exec系列系统调用 2 僵尸进程 3 进程间通信的方式之一:管道 4 3种System V进程通信方式:信号量,消息队列和共享内存原创 2014-03-05 09:44:19 · 5549 阅读 · 2 评论 -
服务器编程入门(4)Linux网络编程基础API
问题聚焦: 这节介绍的不仅是网络编程的几个API 更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系。 这节主要介绍三个方面的内容:套接字(socket地址)API,socket基础API,和网络信息API。原创 2014-02-20 10:03:59 · 3701 阅读 · 2 评论 -
服务器编程入门(3)TCP协议详解
问题聚焦: 本节从如下四个方面讨论TCP协议: TCP头部信息:指定通信的源端端口号、目的端端口号、管理TCP连接,控制两个方向的数据流 TCP状态转移过程:TCP连接的任意一端都是一个状态机 TCP数据流:两种主要类型:交互数据流,成块数据流 TCP数据流的控制:保证可靠传输和提高网络通信质量,两个方面:超时重传,拥塞控制原创 2014-02-17 19:01:46 · 2286 阅读 · 0 评论 -
服务器编程入门(7)I/O复用
问题聚焦: 前篇提到了I/O处理单元的四种I/O模型。 本篇详细介绍实现这些I/O模型所用到的相关技术。 核心思想:I/O复用原创 2014-02-25 19:49:33 · 2614 阅读 · 1 评论 -
服务器编程入门(6)高性能服务器程序框架
问题聚焦: 核心章节。 服务器一般分为如下三个主要模块:I/O处理单元(四种I/O模型,两种高效事件处理模块),逻辑单元(两种高效并发模式,有效状态机)和存储单元(不讨论)。原创 2014-02-24 09:44:27 · 7226 阅读 · 8 评论 -
服务器编程入门(5)Linux服务器程序规范
问题聚焦: 除了网络通信外,服务器程序通常还必须考虑许多其他细节问题,这些细节问题涉及面逛且零碎,而且基本上是模板式的,所以称之为服务器程序规范。 工欲善其事,必先利其器,这篇主要来探讨服务器程序的一些主要规范。原创 2014-02-20 23:00:51 · 2522 阅读 · 2 评论 -
服务器编程入门(2)IP协议详解
问题聚焦: IP协议是TCP/IP协议族的核心协议,也是socket网络编程的基础之一。这里从两个方面较为深入地探讨IP协议: 1,IP头部信息(指定IP通信的源端IP地址,目的端IP地址,指导IP分片和重组,和指定部分通信行为); 2,IP数据包的路由和转发(发生在除目标机器之外的所有主机和路由器上)。原创 2014-01-24 09:26:42 · 2109 阅读 · 0 评论 -
服务器编程入门(11)TCP并发回射服务器实现 - 单线程select实现
问题聚焦:当客户端阻塞于从标准输入接收数据时,将读取不到别的途径发过来的必要信息,如TCP发过来的FIN标志。因此,进程需要内核一旦发现进程指定的一个或多个IO条件就绪(即输入已准备好被读取,或者描述符已能承接更多的输出),它就通知进程。这个机制称为I/O复用,这是由select, poll, epoll函数支持的。编译环境: Ubuntu12.0原创 2014-03-31 11:58:40 · 2077 阅读 · 0 评论