之前的一些开发随笔;程序开发是稳扎稳打,一步一个脚印



11月7日:
    增加输入缓冲区代码~!! 读取缓冲区数据的话,需要移动数据的位置,这里用到memcpy,但这里的拷贝
太频繁了! 准备在后续性能优化上,用环形的缓冲区,这样头部 和 尾部 只负责移动位置


11月9日:
对IOCP这个网络模型进一步的了解些!IOCP的工作流程有了更清晰的了解,IOCP果然是个负责性能强劲的IO模型


11月14日:
增加输出缓冲区,分别用2个线程,一个循环读取输入的缓冲区并将数据给逻辑层,
一个发送输出的缓冲区数据,循环将缓冲区数据送出到对端去,这里注意的事线程同步方面,采用临界对象做线程同步


11月15日:
遇到循环操作2个缓存区。如果缓冲区没数据话,一直空循环,这样造成CPU过高,不是个办法。
我用了下 内核事件对象等待通知函数 WaitForSingleObject,
SetEvent 设置信号。没信号的话就让线程等待中。。。。。。




11月19日:
     
 今天犯2了,声明栈对象 出方法后被析构了。找了半天都不知道什么原因。 对内存认识太少,特别是内存安全方面。
 很有可能导致内存冲突。还有就是在多线程情况下注意内存加锁保护。今天调试了一天才找到问题!!


12月1日
 IOCP模型 我是采用 PostQueuedCompletionStatus 来改变IO 读 和 写 的事件。 所以这样在主逻辑线程中,如果有个
 sendMsg 或者 GetMag中,都会调用 PostQueuedCompletionStatus 投递一个IO事件改变读写。这样方法参照以前主程
 手法,据说这样比较好,至于为什么好,需要以后再测试实战中见证一下


12月5日
     
 自己写了一个windows平台基于IOCP模型下的网络库,自己做了一下简单测试调用,网路库中有自己的封包和 拆包。
 读写缓冲区,但没有实现压缩 和 解压,可以适应于客户端,服务端,此代码以后还需要很多地方优化优化吧。


12月10日
      以前《忍道》项目里面的网络库,今天拿来做了一些测试,效率还是不错,压缩解压,加密解密完整高效。
 开始用这个网络库尝试写一个完整的游戏服务端框架出来,准备用lua做主逻辑。重走以前服务器的老路,感觉效率还是
 不错的。所以尝试写写,希望能再次对服务端更多的认识


12月12日
      起一个线程将接受的 对端对象存在链表中,另一个线程循环链表中的对象,来接受包体,和发送包体。自己实现的一个简单
 链表,可能存在问题,后续优化要补上检查下。




12月14日
      熟悉对LUA 跟 C++ 对象的绑定! LUA本身是没有提供对象绑定功能! 只有简单的LUA api函数做值传递! 利用这个lua标准库
 函数还实现这样的一个C++对象绑定的策略!! 后续使用了 lnua.c 这样策略。。之前朋友推荐用tolua++ ;这个太庞大不够、
 不够轻量级!! 


12月24日
 了解了 游戏登陆流程,这块要跟客户端配合好! 细节比较多,安全方面考虑吧


12月27日
    
      如果3000消息号是转个逻辑服务器的消息!! 那么网关是如何知道,转个哪个逻辑服务器的
      答:  当客户端连接到 网关;网管产生的clientid--发给--> 全局服务器会分配一个逻辑服务器,这个时候全局产生一个logicid,
           此时全局会把 clinetid & logicid 返回发给网关,网关存储。


12月28日
    
      网关服务器主要就是处理各种消息的分发,以及消息的管理,消息的分发还是比较麻烦。目前在解决,如何处理来自内部服务器的消息。
      拿到内部服务器消息,如何将这些消息转发给 客户端; 初步想法就是 加个 内部消息待发缓冲区。在主循环每次去匹配下。






2013年*********************************************************************************************************
     
     
     
     1月5日
     对于网关服务器,询问了一个朋友,网关服务器与内部连接的关系,就是网关启动的时候主动与其他内部服务器建立连接,这个连接时单向的,
     也就说单向的连接内部服务器,内部服务器不需要早主动连接网关了; 不要交叉连接,会很麻烦的。




     1月10日
     对于服务器内部来说,有服务器挂掉了,要及时通知,处理; 这里要要引进心跳功能;定时判断服务器之间是否保持正常连接;


     1月11日
     luabind绑定C++ 对象;今天把 消息操作方法;绑定起来;供给lua调用


     2月28日
     对服务器之间关闭 和 重连  做出代码设计
    
     3月8日
     服务器之间管理这块确实不能忽视,特别是分布式管理服务器
     目前采用 所有分布服务器 交给中心服务器 centerServer来管理,所有服务器主动先连接的是中心服务器。中心服务器在做是否其他服务器之间有连接



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值