好友
阅读权限40
听众
最后登录1970-1-1
|
ps520
发表于 2010-12-26 16:18
本帖最后由 ps520 于 2010-12-26 16:19 编辑
V2.0的NetCloud采用了结构体来记录客户信息,控制运行流程
V2.0.0.1更是直接通过运行状态来控制客户线程状态,彻底摒弃了客户线程句柄的概念!
新版本拥有更多的特性,拥有更广的使用范围。
就算你的机器是4年前配置的旧机子,也能用NetCloud快速搭建起属于自己的网络平台!
当然,这一切依然免费!
还记得NetCloud的口好吗:为中小型客户提供免费高效的网络平台!
历史版本下载:
本次更新主要修正一个概念,由于采用了合理的结构,所以取消了:“服务线程”
这个概念,运行状态本身可以控制一个线程的循环流程,如果客户退出是完全可以
通过状态来完全释放进程。进过测试这个理论是通过的,所以完全取消线程这个概念
每个都是结构体的用法,释放了部分内存,使程序运行更稳定。
ps520
NetCloud V2.0.0.0采用了新的设计理念,通过结构:
.版本 2
.数据类型 客户结构
.成员 运行状态, 逻辑型, , , 真表示正在工作
.成员 访问ip, 文本型
.成员 端口, 整数型
.成员 服务线程, 整数型
.成员 套接字, 类_网络套接字, , , 直接存放在这里更加方便
来存储各类信息,直接将多个变量合成到一个变量,需要什么直接用数组提取即可,更加方便用户使用。
在新的版本中,这些不算什么,我们引入了更多的新思维,等待您的体验!
由于V1.x开发时只是为了研究几个函数的作用,所以是需要什么变量才申请什么变量
导致管理起来相当混乱,特别是几个名称啊什么的用起来都不方便,所以在V2.0中引入
了新的结构类型,用于方便管理客户。
V2.0较V1.x的主要变动如下:
1.自带的几个特殊函数
(1) GetBlankID
解释:本函数用来获得一个没有被占用的ID,代码段:
.版本 2
.子程序 GetBlankID, 整数型, , 获得未占用的ID
.局部变量 ID, 整数型
.计次循环首 (取数组成员数 (客户), ID)
.判断开始 (客户 [ID].运行状态 = 假)
返回 (ID)
.默认
.判断结束
.计次循环尾 ()
返回 (Balanced (10))
值得注意的是,由于我的特殊写法,所以如果执行到计次循环尾则说明ID已经全部被占用
此时会启动智能平衡系统:Balanced
(2)Balanced
解释:用于增加客户个数,从而应对超用户组情况
.版本 2
.子程序 Balanced, 整数型, , 平衡装置.并且返回最靠近的ID
.参数 批产生个数, 整数型, , 一次添加几个
.局部变量 临时, 客户结构, , , 这里可以采用数组的形式累加,一个一个添加确实也很麻烦。大型用户可以考虑设置下这里
.局部变量 ret, 整数型
ret = 取数组成员数 (客户)
.计次循环首 (批产生个数, )
加入成员 (客户, 临时)
.计次循环尾 ()
返回 (ret + 1)
值得注意的是,变更了以前的写法,这里会直接返回申请之前的个数+1,因为这样比较方便。
(3)CleanOut
解释:用于退出时清理残余信息,主要有关闭主通讯套接字和清空所有闲置线程的作用。
.版本 2
.子程序 CleanOut
.局部变量 i, 整数型
强制结束线程_ (接入线程)
接入服务.断开 ()
.计次循环首 (取数组成员数 (客户), i)
.判断开始 (客户 .运行状态 = 假)
.默认
强制结束线程_ (客户 .服务线程)
.判断结束
.计次循环尾 ()
目前通过压力测试代码[同时产生500个连接]来看,是不存在崩溃问题的,因为构建代码时我
就已经考虑到这些,所以写代码也比较注意这些地方。
另外本版本采用了更多的菜单式管理,这样的好处是能够更好的方便使用。
NetCloud 开发说明
本框架是为中小型用户群设计的自助式服务端,可以凭借低端的电脑配置和宽带网络
构建一个服务平台,统一管理所有用户。本框架的优势在于:
※ 高效稳定的结构体设计
整个程序的设计思路,就是围绕着一个值开发,那就是ID。
ID是整个程序中身份的代表,它直接决定了服务端从给谁发送信息等重要问题。
看过许多的源码,发现他们无一不使用了许可证(在我开发完以后,第一次开发是为了练习套接字)。
百度许可证的说明以后我觉得,其实没有很大的必要使用许可证。因为我的代码完全不会触及到
他们所碰到的尴尬局面。
我的构建思想是,所有的线程只通过各自的工作ID来确定自己的服务对象,不牵涉其他。
所以每个线程都会在自己的环境中安静执行,绝对不会干涉其他变量。
对于程序集的变量,我每一个都按其ID分配了变量,这样就不会引起错误。
所以NetCloud的开发是严谨而简洁的,它会通过优化自身而避免因弥补逻辑漏洞带来的额外消耗。
※ 效率与稳定并重
如果只要求效率,那么就会引起某些用户的使用不稳定。NetCloud开发时就注意这些问题,力求
将代码效率和稳定综合,设计出独特的模式,不仅稳定,而且效率也得到保证。
※ 应对服务端扩充问题
用户群大了自然需要更高的处理能力,而纵观所有的服务端都没有应对突然间增大的用户量的能力。
NetCloud独特的思维将复杂问题变得简单。设计了独特的“追加用户”来应对这个可喜
的麻烦。用户高峰期自动添加客服组,用户低谷期自动去除多余的客服组,为您减少多余的占用。
如果用户群持续稳定在一个值,你只需要调整变量组中的数值即可实现增大用户群应对能力。双剑合璧,
强力保证用户的实用性。
※ 完全开源的项目
代码完全开源,供用户自行扩展。我们向大众开放源码,既是谦虚地向广大用户学习,又是为了更好地
发展这一项目。
已经实现的内容有:
1.客户端接入、断开
2.发送指令*(或依照该功能扩展出发送数据)
3.显示日志
4.追加用户*(源码默认在无空闲客服时激活追加10个)
5.优化服务端退出设计*(智能监控,无需客户端发送指令,代码更简洁)
6.优化客户端退出设计
7.优化服务端关闭时的清理逻辑
8.升级界面配置,增加SDK配置
其他功能希望同各位一起完成!
By Luck[LCG]
V1.1.0.0更新说明
本次更新主要是开放更多信息记录。众所周知,NetCloud面对的不仅是
服务器智能接待客户端,还有复杂的注册、授权等高级功能,本次更新
主要是为这些更新的。使用了超级列表框作为新界面的主体部分,拥有
更大的扩展空间,分类放置各种信息,方便的管理机制,都将让你感受
到不一样的NetCloud!
预计下次更新将加入注册、限制使用30分钟等高级功能演示,但会集成
在开源模块中,这样方便各类用户使用,相当于NetCloud的SDK!
NetCloud:专为中小型用户设计的高效服务器搭建平台!
*更新界面配置,同步各项语法
*增加“全部离线”功能,使用本功能将一次性关闭所有用户的连接,但
不等于关闭服务端。
*修正bug若干
*升级版本号
V1.0.1.0更新说明
本次更新主要增加了开源模块:Translator.ec
由于代码需要用户自定义,所以只是写了一个模板,仅供参考
提供该模块是为了更好响应用户的指令请求,也可以
让服务端发送“格式规范、带参数”的指令
使用模块化的好处时更新时只需要更新模块即可
小型化更新让写代码更加简单!
同时对程序进行了压力测试,测试无异常发生。
V1.0.0.4更新说明
本次更新主要修正了关于“关闭服务”
的bug:
1.无法彻底释放线程
2.无法正确识别关闭对象
3.与客户端的不同步
4.修正逻辑bug
修正以后的代码将更加稳定,整体性能大幅提高。
由于个人问题在使用代码“透明窗口”时添入一个新库,已使用API代替。
V1.0.0.3更新说明
1.修正部分代码使用
2.处理服务端退出消息
3.优化关闭服务逻辑
4.完成部分功能测试
V1.0.0.2更新说明:
1.处理客户端退出消息
2.修正客户端中一处引起无法通信的bug
3.修正服务端中日志记录错误存放的问题
4.修正其他bug若干 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|