首页 › 月度存档 › 1 月 2016

C++接口实现总结

网上的例子,稍微有点错误。我给更改一下,附件上有源码!如有错误,请指正。

总结一下C++实现接口的技巧。
面向对象的语言诸如JAVA提供了Interface来实现接口,但C++却没有这样一个东西,尽管C++ 通过纯虚基类实现接口,譬如COM的C++实现就是通过纯虚基类实现的(当然MFC的COM实现用了嵌套类),但我们更愿意看到一个诸如 Interface的东西。下面就介绍一种解决办法。
继续阅读 »

网络服务器开发热点分析与解决

一、概述

经过多年网络服务器开发实战,于此总结实践体会。本文讲解到异步连接、异步域名解析、热更新、过载保护、网络模型与架构设计及协程等,但不会涉及accept4、epoll等基本知识点。

二、可写事件

相信大多数初学者都会迷惑可写事件的作用,可能觉得可写事件没有什么意义。但在网络服务器中监听并处理可写事件必不可少,其作用在于判断连接是否可以发送数据,主要用于当网络原因暂时无法立即发送数据时监听。

当有数据需要发送到客户端时则直接发送。若没能立即完整发送,则先将其缓存到发送缓冲区,并监听其可写事件,当该连接可写时则再发送之且不再监听其可写事件(防止滥用可写事件)。

值得注意的是,对于指定网络连接需要先将发送缓冲区数据发送完成后才能发送新数据,此也可能比较容易忽略,至少本人当年被坑过。
继续阅读 »