有些东西总是姗姗来迟,就好比这新年的钟声,我们盼望着新年同时也不太旧的一年过去。每当这个时候,我们都会总结一下在过去的一年中我们收获了什么,再计划新的一年我们要实现什么。PF并不是一个十分优秀的框架,可以说这只是出于作者们对自己技术的总结。本次版本比我计划的要晚,一方面是因为新年的原因,另一方面又是工作的原因,诚然这些都只不过是为推卸责任的借口,而这责任却是对自己的。再多的话语,只能留待来年,本次更新比较匆忙,希望有用到的朋友可以反馈BUG到issue上,让我能及时跟进。同时祝大家在新的一年:幸福健康、万事如意!

PF 1.0.3

  更新了windows平台上x64的编译,包括静态库与动态库。

  更新了windows平台的vs编译脚本,更人性化和智能的提示编译错误。

  更新了网络模块部分,增加网络流压缩和加密的机制。

WINDOWS 64位支持

  现在使用编译器可以看到x64的选项,前提是你的VS要支持才行,其次本次修改了VS的脚本,包括调试版本、正式版本的所有静态或动态库都能顺利编译。

WINDOWS编译提示

  在windows平台编译一直以来是觉得比较纠结的地方,主要是因为vs本身的机制,所以导致了编译的时候需要重命名源文件(.c .cc .cpp),本次的更新中如果没有重命名文件,将在编译器中直接给出错误。

  如上图,本次给出的提示比较明显了,只要使用了重命名脚本再次编译就没有改错误了。

网络压缩和加密

   void set_compressmode(uint8_t mode);    //压缩模式 0 不压缩 1 输入流压缩 2 输出流压缩 3 输入流和输出流都压缩
uint8_t get_compressmode() const;
void encryptenable(bool enable); //加密开关
void encrypt_setkey(const char *key); //设置加密key

  这几个方法都放在网络连接对象上,在这里暂不说实现的原理,先谈谈什么情况下使用压缩和加密。要压缩基本上数据都较大,如超过了1k可以考虑压缩,如果你的网络数据不可能超过还是不要启用压缩。加密是争对连接中的数据要求不太容易被人发现,加密key的设置时间一般在建立连接之后。加密是双向的,输入流和输出流都加密,而压缩是单向的,因为有些数据不需要压缩,你可以选择你要压缩输入和输出流,因为这两个流量大小不同,所以需要根据情况选择。

  压缩和加密是会消耗性能的,一般如果没有这些需求的情况下,建议不启用这两种模式。

PF商业版核心人员招募

开篇语
  我们没有大神,只有解决问题的人。
  我们没有强悍的技术,只有一颗向往简单的心。
  我们没有惊人的理论,只有一堆不可思议的妄想。
  我们不需要复杂,只需要够简洁。
  我们不需要固定的思维,只需要你能想得到。

核心成员资格需求
  1、精通或熟练掌握一门语言
  2、能够接受和遵从谷歌C++代码风格
  3、灵活而大胆的思考问题
  4、能够在规定时间段内完成自己分配的模块(可以灵活调度)
  5、有坚持不懈的动力(很重要)

核心成员项目优势
  1、无限制的使用商业版到自己的项目中,如果是别的项目则需要和所有成员商量
  2、在过程中,你可以得到飞一般的技术提高
  3、商业版如果有盈利核心成员的利益将会最大

  名额有限,如果大家想加入的话,请发送一段自己熟悉的语言利用plain framework(简称PF)风格的代码到邮箱viticm.ti@gmail.com,我们将尽快的在15年前确定人选,因为商业版的计划从15年1月份开始。

PF托管地址

  https://github.com/viticm/plainframework1

PF安装教程

  http://www.cnblogs.com/lianyue/p/3974342.html

PF交流QQ群

  

plain framework 1 1.0.3更新 优化编译部分、网络压缩和加密的更多相关文章

  1. plain framework 1 1.0.4 更新 稳定版发布

    PF由于各种因素迟迟不能更新,此次更新主要是更新了以往和上个版本出现的内存问题,该版本较为稳定,如果有用到的朋友请更新至此版本. PF 1.0.4 修复1.0.0.3更新后产生的内存问题,可能导致网络 ...

  2. plain framework 1(简约框架)一款主要用于网络(游戏)开发的C/C++框架 即将开源发布

    在我们的日常开发中,我们往往会遇到这种情况,当我们换了一个开发环境时很可能会重新利用一套新的框架进行开发.由于不同框架有着不同的接口,所以我们不得不花时间再次熟悉这些接口,这将造成开发时间上的重复,而 ...

  3. Android Studio 1.1.0版本以上 优化编译

    本文不写内容,只是借用别人链接.不过大概内容都如下链接: http://blog.csdn.net/hyr83960944/article/details/38388429 http://bbs.it ...

  4. plain framework 1 版本更新 1.0.2 增加打包插件

    由于个别因素,该框架的文档没有及时的更新到博客上,但是离线的文档已经完成.本次更新对框架来说显得比较重要,因为在文档的编写过程中经过再次的阅读代码修复了不少错误,最主要的是统一了整个框架的标准风格.对 ...

  5. ASP.NET MVC深入浅出系列(持续更新) ORM系列之Entity FrameWork详解(持续更新) 第十六节:语法总结(3)(C#6.0和C#7.0新语法) 第三节:深度剖析各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字 各种通讯连接方式 设计模式篇 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借

    ASP.NET MVC深入浅出系列(持续更新)   一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模 ...

  6. plain framework 1 一款主要用于网络(游戏)开发的C/C++开源框架 安装篇 updated

    上次介绍了一下plain framework的基础相关资料,今天该框架正式开源发布.项目的地址托管于github上,我相信大多数朋友都应该知道.今天要介绍的是该框架的目录基本结构,以及分别在linux ...

  7. Working with Data » Getting started with ASP.NET Core and Entity Framework Core using Visual Studio » 更新关系数据

    Updating related data¶ 7 of 7 people found this helpful The Contoso University sample web applicatio ...

  8. .Net Core 2.0生态(4):Entity Framework Core 2.0 特性介绍和使用指南

    前言 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升级EF也发展到EF6.x,Entity Framework Core是一个支持跨平台的全新版本, ...

  9. 谈一款MOBA类游戏《码神联盟》的服务端架构设计与实现(更新优化思路)

    注:本文仅用于在博客园学习分享,还在随着项目不断更新和完善中,多有不足,暂谢绝各平台或个人的转载和推广,感谢支持. 一.前言 <码神联盟>是一款为技术人做的开源情怀游戏,每一种编程语言都是 ...

随机推荐

  1. ASP.NET免费服务器~支持MVC和Net4.5

    1.先注册一个号.地址:https://appharbor.com/ 2.看看有没有你需要的插件,基本上都是免费的 3.本地创建git库 4.复制git远程仓库的地址 5.推送到远程仓库 6.查看自己 ...

  2. Redis数据结构详解之Zset(五)

    序言 Zset跟Set之间可以有并集运算,因为他们存储的数据字符串集合,不能有一样的成员出现在一个zset中,但是为什么有了set还要有zset呢?zset叫做有序集合,而set是无序的,zset怎么 ...

  3. 理解 Neutron FWaaS - 每天5分钟玩转 OpenStack(117)

    前面我们学习了安全组,今天学习另一个与安全相关的服务 -- FWaaS.理解概念 Firewall as a Service(FWaaS)是 Neutron 的一个高级服务.用户可以用它来创建和管理防 ...

  4. C++服务器开发之基于对象的编程风格

    Thread.h #ifndef _THREAD_H_ #define _THREAD_H_ #include <pthread.h> #include <boost/functio ...

  5. Linux基礎知識 —— open&close

    下面說一下在用戶空間調用open/close/dup跟驅動中的open和release的對應. 下面是測試驅動: #include <linux/module.h> #include &l ...

  6. 《高性能javascript》 领悟随笔之-------DOM编程篇

    <高性能javascript> 领悟随笔之-------DOM编程篇一 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...

  7. openresty 前端开发入门一

    OpenResty ™ 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高的动态 ...

  8. Windows程序设计_19_测试Windows应用程序加载函数

    /* 本程序测试自定义的WinMainCRTStartup函数 */ #define STRICT #define WIN32_LEAN_AND_MEAN #include <windows.h ...

  9. 多线程中的volatile和伪共享

      伪共享 false sharing,顾名思义,“伪共享”就是“其实不是共享”.那什么是“共享”?多CPU同时访问同一块内存区域就是“共享”,就会产生冲突,需要控制协议来协调访问.会引起“共享”的最 ...

  10. maven之一:maven安装和eclipse集成

    maven作为一个项目构建工具,在开发的过程中很受欢迎,可以帮助管理项目中的bao依赖问题,另外它的很多功能都极大的减少了开发的难度,下面来介绍maven的安装及与eclipse的集成. maven的 ...