- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 从零编写c++之http服务器(3)-http服务
http全称超文本传输协议,可调试性高,扩展性也强。上两个篇章我们已经拥有了epoll事件驱动框架和线程池处理网络事件,接下来我们要先写一个基础网络套接字,然后在此基础上扩展出http的套接字。献上类图如下完整源码见<https://github.com/kwansoner/panda.git> ...
2018-07-27 22:32:42 18363 2
原创 从零编写c++之http服务器(2)-epoll异步事件驱动框架
epoll是select/poll基础上改进的为大规模描述符事件监测的机制,常出现在高性能,高并发的服务器设计中。在这里我们需要设计一个框架,实现套接字对象将自身注册到框架中,框架即可利用epoll对其套接字进行事件监测;当事件产生时通知相应的套接字对象。从而实现事件的监测与处理解耦。惯例还是献上类图。完整源码见<https://github.com/kwansoner/p...
2018-07-27 22:26:28 2729 6
原创 从零编写c++之http服务器(1)-线程池
引言 编写这么一个c++的http服务器,纯粹是满足多年前一个好奇心。为什么我输入链接可以打开一个网页?这背后究竟发生了什么?所以本着好事多磨的心理一点点从零写了这个http服务器。他有着以下几个特点。1) 基于epoll的异步事件驱动框架2) L/F线程池处理网络事件3) 完全从零编写http服务模块 当然实现中为了研究原理,仅做了关键功能的开发,...
2018-07-27 22:25:12 4268 2
原创 消除 pointer of type ‘void *’ used in arithmetic告警
考虑这么一段代码,编译时会产生警告void *指针用于算术运算,那么如果消除这个告警?ssize_t Send(int sockfd, const void *buf, size_t len, int flags){ size_t sendcount = 0x00; ssize_t nsend = 0x00; do{ nsend = send(sockfd, buf +...
2018-07-08 21:23:24 23709
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人