分享

C++实现,支持跨平台(Windows,Android,IOS),支持跨语言(C++,C#,Java)的网络库

 quasiceo 2016-08-03

C++实现,支持跨平台(Windows,Android,IOS),支持跨语言(C++,C#,Java)的网络库

这个网络库是在 CppNetworkLibrary(http://www.cnblogs.com/winter-yu/p/4688481.html )的基础之上做的一些优化与调整。

写这个库的目的是为了帮助那些在网络编程方面没有太多经验的人,能够让你不用去关心底层的实现,只用简单的调用几句代码即可为你的程序加入网络支持。

具体的亮点如下:

1,支持跨跨平台,包括主流的Windows,Android,IOS,Linux等等。

2,跨语言,客户端支持C++,C#,Java。服务端目前只支持C++。

3,数据包增加了加密及压缩功能,密码会动态随机修改,而不是双方都使用固定密码,保证了数据包的传输安全。

4,客户端支持P2P的消息传输,而不需要服务器做任何的额外处理。

5,服务端支持集群(理论上并发量跟集群服务器数量及服务器的逻辑复杂度有关),并且集群服务器之间的客户端可以相互发送数据包,没有区服概念。

6,序列化协议采用的是Google Protocol Buffers,所以不同的语言,不同的客户端,都可以相互通信。

7,所有数据包以及网络事件都是通过事件回调,简洁明了,没有任何网络编程经验的程序员也能快速上手。

8,服务端丰富的日志记录,包括关键的崩溃信息,连接数量统计信息等等,方便参考。

9,支持P2P的真实连接,而不是通过服务器转发,直接连接(但连接是否成功跟目标网络接入的NAT设备有关,

  如果P2P的两端都是对称型NAT设备,那成功的概率会非常低,但是即使会连接失败也不会影响P2P的数据包传输,因为如果真实连接失败就会走服务器转发的线路)。

 

C++ demo 及库下载地址:http://pan.baidu.com/s/1pLlERNl(注意!C++demo编译时请将VS2015的编译平台切换成x64,因为默认是x86

C#  demo及库下载地址:http://pan.baidu.com/s/1eSNQTBc

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多