发布NetWay网络编程引擎测试版。

11 篇文章 0 订阅
5 篇文章 0 订阅

呵呵,之所以称作引擎只是觉得这名字比较酷而已。断断续续写了好久了,由于自己是面向对象编程新手,所以只是做了一点浅浅的封装,将网络编程的数据传输模块与逻辑模块隔离,并提供接口供客户端使用。

下面先简单介绍下特点吧。

1,简化了网络编程,使客户只需定制自己的协议与逻辑就可实现各种网络软件。

2, 服务端用Java实现,客户端用C++与Socket实现(有几个线程操作用了Windows API)。   这样编写的原因是,服务器一般有2大流派,*nix与Windows,用java可实现跨平台性,且简易性与稳定性更强。客户端稍微改下也可在*nix平 台使用,但暂时没打算实现。

3,客户端可继承Client类实现逻辑;服务端只需将逻辑类打包放入Plugins目录即可加载。在通信协议里指定逻辑名称,服务端根据逻辑名称动态加载插件,所以一个服务端可同时运行多种逻辑模块。

基本原理:
服务端:1个线程处理用户连接,1个线程读取数据,N个线程处理读入数据,N个线程处理输出数据。
客户端:1个线程读取数据,1个线程处理数据并发送。

等改进的差不多后,我会详细地写一个开发文档出来。现在暂时只提供一个使用NetWay引擎的聊天室例子,由于只是测试引擎,所以代码写得很烂,而且客户端是MFC的。看看即可。。


测试效果:
双击服务端文件夹内的startup.bat后,启动客户端文件夹内的ChatRoom.exe即可,服务端提供了3个插件,但是只使用了ChatRoom.jar。
服务器:
 

客户端:
 

最 后,服务器编程是门很高深的学问,国外有很多开源引擎,被各大网游开发商使用,比如ACE  libevent  RakNet等,都是开源的,ACE与 RakNet太过复杂,感兴趣的可学习下libevent,相对比较简单,貌似国内很多网游开发商就是用的这个引擎。我只是凭兴趣,带着学习的心态写了这 个引擎,也并没有机会进行大规模的系统的测试。随着自己的学习深度,我打算继续改进他。。有兴趣的朋友可以与我交流。。

To Do:

1,提高服务器性能,完善各种BUG。
2,服务端提供数据可持久化,也就是数据库,目前该功能需客户自己实现。
3,服务端加入一些简单安全措施,如简单防御DDOS。
4,支持P2P。需要客户端实现某些服务端功能,服务端则需提供NAT打洞插件。
5,提供UDP通信支持,目前只支持TCP。

 

下载地址:download.csdn.net/source/1814986

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值