
网络
Kevin_qing
这个作者很懒,什么都没留下…
展开
-
C++实现网络服务器命令模式(设计及模板实现)
Client->request Server->response模式的网络服务器中,对应答的处理一般是采用switch模式。此方法比较难于维护,且缺少错误检测。本文采用C++模板实现一套较为通用的服务器命令处理模型。阅读本文你应该对C++模板较为熟悉。ok,进入正题。假定客户命令包头为。struct MsgHead{DWORD type;};定义客户端命令模板类。templateclass Req原创 2005-07-10 14:53:00 · 2894 阅读 · 0 评论 -
Hook Winsock2.0
修改导入表的方式会使WSAStartUp调用失败,估计是winsock做了检查原创 2005-12-14 21:39:00 · 1848 阅读 · 0 评论 -
eXCHANGEkEY
S->生成随机密匙 SK CKC->生成非对称密匙CKa&&CKbC :[CKa] -> SS :[encrypto SK use CKa]->CC :[dectypto SK use CKb]C :[encrypto msg use CK]->SS :[encrypto msg use SK]->C原创 2005-12-19 00:18:00 · 1544 阅读 · 0 评论 -
RHLinux9 升级2.6.15
下载src,编译.选择了ext3编译入内核 不知道什么原因,编译时GCC coredump了无数次...终于在第n次继续编译后成功了.安装好kernel后启动....先报usb 一堆什么错误,没关系,俺的键盘是ps/2的,用sshe也不需要鼠标...忽略...继续下去,新硬件只找到了我的ps/2鼠标然后在启动网卡时出现错误.....大概是说网卡设备不存在.但是我原创 2006-03-11 00:22:00 · 1567 阅读 · 0 评论 -
设备io的(同步异步io,iocp/epool等),以及iocp 和socket操作(求批判|讨论)
iocp/epool这类东西是用于与设备通信时获取通知。 这里的设备在访问硬盘上的文件就是和文件系统驱动打交道,访问socket时则是和网络驱动(软件->硬件)打交道。 os驱动运行模式一般是发送命令,等待命令完成,获取结果。 层次类似这样 user ----------------------- kernel driver driver下面可以挂很多个,其原创 2012-03-17 14:58:25 · 2577 阅读 · 0 评论 -
实时多人在线游戏研究(同步和延迟)
本文讨论实时多人在线游戏的服务器和客户端技术。 实时多人在线游戏主要包括2类,FPS(quake系列,UT系列,CF等),ACT(DNF,龙之谷这类) 其共同特点是需要用户操作尽快的得到体现。并且所有客户端的结果要一致。 同一世界玩家数量较少(这是有原因的,下面讨论),有较真实的物理效果模拟。 通用的C/S做法: A. 客户端采样输入数据->Server处理数据->分发结果。原创 2012-03-10 15:54:27 · 3326 阅读 · 0 评论 -
c++ 服务器程序bug dump
调试服务器程序时最怕遇到需要运行10天半个月才遇到一次的bug,这种bug很难还原现场,同时还要时刻注意服务器是否挂掉。 本文给出一个解决方法可以极大的提高调试效率。 使用本文方法可以在断言失败时自动dump,可用于还原bug环境进行调试。另外崩溃时也会自动记录crash dump。 断言函数 bool xassert(bool r){ if(!r) __a原创 2014-12-02 14:48:54 · 1805 阅读 · 0 评论