服务端开发
文章平均质量分 79
ize
这个作者很懒,什么都没留下…
展开
-
高并发服务器架构笔记(3)——muduo_base 源码分析
class Timestamp : public muduo::copyable, public boost::less_than_comparable<Timestamp>{//...}Tinestamp 类封装原创 2017-05-22 16:48:05 · 827 阅读 · 0 评论 -
高并发服务器架构笔记(3)——muduo_base 源码分析
MutexLock MutexLock Mutex: pthread_mutex_t holder: pid_t (当前拥有该锁的线程 tid) ~~~~~~~~~~~~~ << create >> MutexLock() << destroy >> ~MutexLock() idLockedBythisThread(): bool 判断是否当前线程拥有该锁 asser原创 2017-05-26 23:45:15 · 414 阅读 · 0 评论 -
高并发服务器架构笔记(1)——poll 和 epoll
signal(SIGPIPE, SIG_IGN); //忽略 SIGPIPE 信号如果客户端关闭套接字 close(sockfd); 而服务器调用了一次write() 这时候服务器会产生一个 SIGPIPE 信号。TIME_WAIT 状态对高并发服务器有不利影响。应尽可能避免在服务器端出现 TIME_WAIT 状态,因为会耗费大量比必要的资源。协议设计上,应尽可能让客户端先 close原创 2017-05-18 11:05:47 · 489 阅读 · 0 评论 -
高并发服务器架构笔记(4)——muduo_net 源码分析
TCP 网络编程最本质的是处理3.5个事件1. 连接建立:服务端 accept(被动)接受连接,客户端 connect (主动)发起连接。2.连接断开:主动断开(close、shutdown),被动断开(read 返回0)3 处理消息到达事件(核心):当网络库事件循环中的可读事件触发时,将数据从内核缓冲区移动到应用缓冲区中。调用OnMessage( )函数,根据协议判断数据包是否一个完整的数据包(不原创 2017-08-09 21:23:37 · 763 阅读 · 0 评论 -
Reactor 模式
Reactor 模式参考:https://segmentfault.com/a/1190000002715832Reactor 模式包含几个主要的模块:Reactor:反应器,定义一个接口,实现以下功能: 供应用程序注册和删除关注的事件句柄。运行事件循环有就绪事件到来时,分发事件到之前注册的回调函数上处理Handle (文件描述符)Synchronous Event Demultiple原创 2017-08-14 16:59:03 · 444 阅读 · 0 评论 -
Linux 网络编程笔记(2)——socket 编程
socket 可以看作是用户进程与内核网络协议栈的编程接口既可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信listenfd 是被动套接字,可以用来接受连接。accept 从已完成连接队列中取出一个队列头,得到一个新套接字 connfd。connfd 是主动套接字,不能用来接受连接。服务端和客户端的 ip 和 port 四元组表示 一个连接。REUSEADDR 可以解决原创 2017-05-28 00:32:44 · 412 阅读 · 0 评论