`
CshBBrain
  • 浏览: 649953 次
  • 性别: Icon_minigender_1
  • 来自: 成都
博客专栏
B7d9bf34-126e-301f-819e-81f2615b5a2a
开源WebSocket服务...
浏览量:144867
Group-logo
HTML5移动开发
浏览量:137818
社区版块
存档分类
最新评论

开源WebSocket服务器项目 宝贝鱼(CshBBrain)版本发布

阅读更多

开源Websocket服务器宝贝鱼(CshBBrain)介绍:

 

宝贝鱼(CshBBrain) 是一个来自中国的简单的轻量级的高性能的WebSocket服务器。支持服务器集群,能满足大并发量高容量的分布式系统开发。如果你需要开发带有集群功能的WebSocket服务器,宝贝鱼(CshBBrain) 也许是非常适合你的选择。在宝贝鱼(CshBBrain)中你可以将某个服务器设置为纯粹的集群管理服务器,或纯粹的业务节点服务器和集群管理业务节点服务器3种类型。适合用于数据推送(股票行情),游戏,聊天/im等服务器程序的构建。​

宝贝鱼(CshBBrain)有NIO版本和AIO版本2个版本,宝贝鱼(CshBBrain) 4.0.0之前的版本基于NIO,从4.0.0版起基于AIO。基于JAVA实现的,充分运用了java的多线程技术,线程池,NIO或AIO,缓冲区池等技术。项目从技术架构上采用了分层思想,分为网络传输层,协议解析层和业务层共3层。

网络传输层封装了网络连接的请求建立,数据读写监听,为协议解析层提供服务;协议解析层专门负责具体的协议解析,如果你有兴趣,你也可以在协议层编写自己的协议编码解码器来构建基于你自己协议的服务器;业务层在协议解析层之上做具体的业务处理,这部分的工作就是你要开发具体服务所要编写的业务代码了。​

2012年11月5日国内首款基于AIO的开源WebSocket服务器 宝贝鱼 (CshBBrainAIO)正式发布。基于AIO的开源WebSocket服务器 宝贝鱼(CshBBrain) 依然采用分层的体系结构,协议层和业务层 与 基于NIO技术的 开源WebSocket服务器 宝贝鱼 (CshBBrain) 完全一样,采用基于AIO的的 宝贝鱼 进行服务器开发的方式 与 基于NIO 的宝贝鱼 开发方式完全一样。正是得益于彻底的分层架构,所有宝贝鱼在很短的时间内开发出基于AIO技术的新版本。

如果你的分层 也向 宝贝鱼 一样的话,甚至 你在基于NIO 的宝贝鱼上开发的服务器 完全不用修改任何代码 只需要替换成 基于 AIO的宝贝鱼的网络传输层 的代码 一切就OK了!对,你的服务器也就变成了基于AIO的服务器了。基于AIO的服务器拥有所有基于 NIO 的宝贝鱼服务器所拥有的全部功能,但你必须将JDK换成JDK7.简单吧,简单就是 宝贝鱼 服务器所追求的理念。

如果你觉得Mina,Netty太复杂,庞大,难于上手,CshBBrain也许是适合你的选择。

CshBBrain is a simple,lightweight and high performace websocket server from China.CshBBrain implements in java, base on NIO,Pools ,Asynchronous and so.If you fell Mina, Netty is too large and complex,maybe CshBBrain is a suitable for you.

该项目被开源中国收录:http://www.oschina.net/p/cshbbrain

作者技术博客:http://cshbbrain.iteye.com/

使用讨论专栏:http://www.iteye.com/blogs/subjects/CshBBrain

 

 

与宝贝鱼服务器搭配使用的前台JS框架CshBBrainJS于2012.12.03发布。

项目地址:

http://www.oschina.net/p/cshbbrainjs

http://code.google.com/p/cshbbrainjs/

https://github.com/CshBBrain/CshBBrainJS

基于CshBBrain和CshBBrainJS开发的互联网服务“数码快看”:

 

数码快看(http://211.100.41.186:8989/mcms/ws/index_ws_tom.html),如果你喜欢数码快看产品请到www.qook.com.cn下载iOS或Android的安装程序。由于知识产权的关系,提供的实例屏蔽了部分功能,混淆了前台代码,只支持高版本的Chrome浏览器。下面上几张图片吧:

 

 







 

CshBBrain V1.0.0 :

通过1年多的努力,今天终于发布了开源WebSocket服务器项目宝贝鱼(CshBBrain).由于本人比较懒,就使用了我的网名作为项目的名称。项目诞生于公司以前的一个股指推送服务器(见博客http://cshbbrain.iteye.com/blog/1207471),股指推送服务器每5秒就向手机、平板电脑上的网页推送最新的股指信息。由于当时本人对java NIO 研究不过深入,所以一直没有写出满意的基于NIO的websocket服务器。通过1年多的努力研究基于NIO的高性能的WebSocket服务器CshBBrain终于诞生了。

  CshBBrain服务器的实现参考了Mina,Netty等NIO框架的实现;CshBBrain服务器的特点是小巧,灵活和高性能。学习曲线低。目前源代码已经释放到google code上。使用文档后续会慢慢补充和完善。

  CshBBrain 是一个来自中国的简单的轻量级的高性能的WebSocket服务器。基于JAVA实现的,充分运用了java的多线程技术,线程池,NIO 或AIO(宝贝鱼 4.0.0开始支持AIO),缓冲区池等技术。项目从技术架构上采用了分层思想,分为网络传输层,协议解析层和业务层共3层。适合用于数据推送(股票行情),游戏,聊天/im等服务器程序的构建。

  网络传输层封装了网络连接的请求建立,数据读写监听,为协议解析层提供服务;协议解析层专门负责具体的协议解析,如果你有兴趣,你也可以在协议层编写自己的协议编码解码器来构建基于你自己协议的服务器;业务层在协议解析层之上做具体的业务处理,这部分的工作就是你要开发具体服务所要编写的业务代码了。

  如果你觉得Mina,Netty太复杂,庞大,难于上手,CshBBrain也许是适合你的选择。

项目源代码托管在google code上面,项目地址:http://code.google.com/p/cshbbrain/ 

 

CshBBrain V1.0.2:

CshBBrain 1.0.2版本发布,添加了推送类应用实例:股指推送应用,优化了客户端超时检测机制 

 


CshBBrain 1.0.2版本发布,添加了推送类应用实例:股指推送应用,优化了客户端超时检测机制.

已同步更新到GitHub和googlecode上。

添加的股指推送应用截图:对需要开发实时推送消息到客户端的童鞋提供一点参考。


GitHub下载地址:https://github.com/CshBBrain/CshBBrain/downloads

googlecode下载地址:http://code.google.com/p/cshbbrain/downloads/list

 

 

CshBBrain V2.0.0:
添加服务器集群功能,以满足大并发量高容量的分布式系统开发需求

 

开源WebSocket服务器CshBBrain V2.0.0版本发布。在V2.0.0版本中添加服务器集群功能,以满足大并发量高容量的分布式系统开发。如果你需要开发带有集群功能的WebSocket服务器,CshBBrain V2.0.0也许是非常适合你的选择。在CshBBrain V2.0.0中你可以将某个服务器设置为纯粹的集群管理服务器,或纯粹的业务节点服务器和集群管理业务节点服务器3中类型。

管理服务器启动日志:

13:16:34,008  INFO MasterServer:464 - 数据读取回写监听线程创建成功:请求数据传输监听线程0
13:16:34,008  INFO MasterServer:803 - 请求处理调度线程创建完毕
13:16:34,024  INFO MasterServer:464 - 数据读取回写监听线程创建成功:请求数据传输监听线程1
13:16:34,024  INFO MasterServer:803 - 请求处理调度线程创建完毕
13:16:34,024  INFO MasterServer:929 - 连接监听线程创建成功
13:16:34,024  INFO MasterServer:960 - 集群连接监听线程创建成功
13:16:34,039  INFO MasterServer:992 - 集群服务器准备就绪,等待集群请求到来
13:16:34,039  INFO MasterServer:1055 - 服务器准备就绪,等待请求到来
13:16:57,226  INFO ClustersDecoder:99 - the msg received: 
CshBBrain
Host:192.168.1.111
Key:789a71bbd02e47b8a45c7810
Protocol:Protocol


13:16:57,226  INFO ClustersDecoder:224 - 789a71bbd02e47b8a45c7810258EAFA5-E914-47DA-95CA-C5AB0DC85B11
13:16:57,257  INFO ClustersDecoder:340 - the response: CshBBrain
Host:192.168.1.111
Accept:fdW9PLg7Nj/qsdmwx+FXLL/k/9w=
Protocol:protocol


13:16:57,335  INFO Response:158 - 向客户端传输数据的长度 : 87

业务节点服务器启动日志:

13:16:57,054  INFO MasterServer:464 - 数据读取回写监听线程创建成功:请求数据传输监听线程0
13:16:57,070  INFO MasterServer:803 - 请求处理调度线程创建完毕
13:16:57,070  INFO MasterServer:464 - 数据读取回写监听线程创建成功:请求数据传输监听线程1
13:16:57,070  INFO MasterServer:803 - 请求处理调度线程创建完毕
13:16:57,070  INFO MasterServer:929 - 连接监听线程创建成功
13:16:57,070  INFO MasterServer:960 - 集群连接监听线程创建成功
13:16:57,085  INFO MasterServer:258 - 集群通信客户端消息处理线程创建完毕
13:16:57,085  INFO MasterServer:313 - 成功连接到集群服务器  192.168.1.220 的端口:9191
13:16:57,101  INFO MasterServer:1055 - 服务器准备就绪,等待请求到来
13:16:57,116  INFO MasterServer:992 - 集群服务器准备就绪,等待集群请求到来
13:16:57,148  INFO Client:668 - CshBBrain
Host:192.168.1.111
Key:789a71bbd02e47b8a45c7810
Protocol:Protocol


13:16:57,148  INFO ClustersCoder:162 - the response: CshBBrain
Host:192.168.1.111
Key:789a71bbd02e47b8a45c7810
Protocol:Protocol


13:16:57,226  INFO Response:158 - 向客户端传输数据的长度 : 80
13:16:57,335  INFO ClustersDecoder:99 - the msg received: 
CshBBrain
Host:192.168.1.111
Accept:fdW9PLg7Nj/qsdmwx+FXLL/k/9w=
Protocol:protocol

 

 

CshBBrain V2.0.1:

 

完善服务器集群管理控制功能,持续优化架构让服务器以最大的并行度运行。

 

 

1.完成服务器集群中的:集群节点服务器系统参数收集统计,集群管理服务器控制集群节点服务器增加 读写监听线程数量 和工作线程数量,管理服务器给客户端分派节点服务器等功能。

2.将处理结果转换为buffer中的字节的工作放到工作线程中来完成,以达到最大程度的并行运行。

3.集群管理功能的用户界面与交互功能将将在接下来的一个小版本中提供,敬请关注。

4.最新代码和下载包已经发布到googlecode和github上。

googlecode:http://code.google.com/p/cshbbrain/downloads/list

github:https://github.com/CshBBrain/CshBBrain/downloads

 

 

当然你也可以直接用svn或github获取最新的源代码。

感谢您的关注!CshBBrain V4.0将支持Java AIO技术。

 

使用config_1.properties 的配置内容启动集群管理服务器,启动成功后在后台将看到如下信息,表示集群管理服务器启动成功:

 

 

09:00:09,156  INFO MasterServer:542 - 数据读取回写监听线程创建成功:请求数据传输监听线程0

09:00:09,171  INFO MasterServer:937 - 请求处理调度线程创建完毕

09:00:09,187  INFO MasterServer:542 - 数据读取回写监听线程创建成功:请求数据传输监听线程1

09:00:09,187  INFO MasterServer:937 - 请求处理调度线程创建完毕

09:00:09,218  INFO MasterServer:1063 - 连接监听线程创建成功

09:00:09,250  INFO MasterServer:1189 - 服务器准备就绪,等待请求到来

09:00:09,265  INFO MasterServer:1094 - 集群连接监听线程创建成功

09:00:09,265  INFO MasterServer:1126 - 集群服务器准备就绪,等待集群请求到来

 

 

使用config_2.properties 的配置内容启动集群节点服务器,启动成功后在后台将看到如下信息,表示集群节点服务器启动成功:

 

 

21:12:26,921  INFO Client:718 - CshBBrain

Host:192.168.1.220

Key:2d899c066a764141a4111986

Protocol:Protocol

 

节点服务器向管理服务器发起握手请求并获取到管理服务器的响应:

握手请求:

21:12:26,921  INFO ClustersCoder:163 - the response: CshBBrain

Host:192.168.1.220

Key:2d899c066a764141a4111986

Protocol:Protocol

 

21:12:27,140  INFO Response:128 - the postion of the data in write: 80

21:12:27,140  INFO Response:135 - translate size:80

21:12:27,140  INFO Response:160 - 向客户端传输数据的长度 : 80

握手响应:

21:12:27,359  INFO ClustersDecoder:99 - the msg received: 

CshBBrain

Host:192.168.1.220

Accept:EwTk4R9Kre88pM4vMmCMQcSA59w=

Protocol:protocol

 

21:12:27,359  INFO ClustersDecoder:226 - 2d899c066a764141a4111986258EAFA5-E914-47DA-95CA-C5AB0DC85B11

 

 

 

 

管理服务器收到握手请求并进行握手处理返回握手处理结果给节点服务器,下面是管理服务器的后台输出:

 

21:12:27,156  INFO ClustersDecoder:99 - the msg received: 

CshBBrain

Host:192.168.1.220

Key:2d899c066a764141a4111986

Protocol:Protocol

 

21:12:27,187  INFO ClustersDecoder:226 - 2d899c066a764141a4111986258EAFA5-E914-47DA-95CA-C5AB0DC85B11

21:12:27,203  INFO ClustersDecoder:342 - the response: CshBBrain

Host:192.168.1.220

Accept:EwTk4R9Kre88pM4vMmCMQcSA59w=

Protocol:protocol

 

 

 

握手成功后,节点服务器向管理服务器汇报配置参数,管理服务器收到信息后会返回“action=1000”响应,下面是节点服务器的后台输出信息:

 

21:13:23,281  INFO MasterServer:377 - 节点服务器:192.168.1.220:3865

服务器CPU内核数量:2

服务器读写监听线程数量:2

服务器工作线程数量:10

活跃连接客户端数量:0

活跃集群连接客户端数量:0

活跃本地连接客户端数量:0

 

21:13:23,312  INFO Response:314 - the postion of the data: 2

21:13:23,312  INFO Response:314 - the postion of the data: 110

21:13:23,312  INFO Client:718 - action=1&coreCount=2&readerWriterCount=2&workerCount=10&clientCount=0&clustersCount=0&port=7070&localCount=0

21:13:23,312  INFO Response:128 - the postion of the data in write: 110

21:13:23,312  INFO Response:135 - translate size:110

21:13:23,312  INFO Response:160 - 向客户端传输数据的长度 : 110

21:13:23,359  INFO ClustersDecoder:196 - jason,the msg is : action=1000

 

 
 
 

宝贝鱼 CshBBrain V4.0.0:

 

国内首款基于AIO(异步IO)支持集群的高性能开源WebSocket服务器 宝贝鱼 CshBBrain V4.0 发布。

 

国内首款基于AIO的开源WebSocket服务器 宝贝鱼 (CshBBrainAIO)正式发布。基于AIO的开源WebSocket服务器 宝贝鱼 依然采用分层的体系结构,协议层和业务层 与 基于NIO技术的 开源WebSocket服务器 宝贝鱼 (CshBBrain) 完全一样,采用基于AIO的的 宝贝鱼 进行服务器开发的方式 与 基于NIO 的宝贝鱼 开发方式完全一样。得益于彻底的分层架构,所有宝贝鱼在很短的时间内开发出基于AIO技术的新版本。

  如果你的分层 也向 宝贝鱼 一样的话,甚至 你在基于NIO 的宝贝鱼上开发的服务器 完全不用修改任何代码 只需要替换成 基于 AIO的宝贝鱼的网络传输层 的代码 一切就OK了!对,你的服务器也就变成了基于AIO的服务器了。基于AIO的服务器拥有所有基于 NIO 的宝贝鱼服务器所拥有的全部功能,但你必须将JDK换成JDK7.简单吧,简单就是 宝贝鱼 服务器所追求的理念。

 

源代码已经上传到googlecode: http://code.google.com/p/cshbbrain/downloads/list

github:https://github.com/CshBBrain/CshBBrain/downloads

 

你也可以通过svn从googlecode获取代码:http://code.google.com/p/cshbbrain/source/browse/#svn%2Ftrunk%2Fsource%2FCshBBrainAIO

由于github客户端出问题源代码暂时没有更新到github库上。

 

开源WebSocket服务器 CshBBrain 的中文名正式改为 宝贝鱼。感谢您的关注和支持。

 

 

 

宝贝鱼 CshBBrain V4.0.1 和 CshBBrain V2.0.2:

 

更新的功能列表如下:

1.解决开启广播消息开关时,不能同时接入2个客户端的重大缺陷。

2.对广播消息做了重大优化,从以前一个线程发送广播消息进化到使用工作线程池中的线程并行的发送广播消息。

3.发送给所有客户端的广播消息共享一个消息的内容,避免大量重复的消息编码缓存处理工作,有效的提升广播消息的效率。

4.对框架的响应写回机制做了重大优化,服务器工作线程接收完消息,进行解码、业务处理和编码,以前是注册一个回写事件;优化后的处理方式时工作线程首先调用

回写函数向客户端回写内容,如果回写的内容不多,在工作线程中就处理完了,就避免了线程的切换,响应速度更快了;如果回写的内容多,工作线程的回写调用不能写

完全部内容,然后再注册回写事件,让Selector继续完成剩余内容的回写工作。优化后对于要求快速响应,消息内容短小的应用效果明细。

 

源代码已经更新到googlecode:http://code.google.com/p/cshbbrain/downloads/list

github:https://github.com/CshBBrain/CshBBrain/downloads

 

基于AIO的版本在github上单独创建了一个源代码库:https://github.com/CshBBrain/CshBBrainAIO

 

谢谢你们的关注!

 

 

宝贝鱼 CshBBrain V4.0.2 和 CshBBrain V2.0.3发布:

 

更新的功能列表如下:

1.解决数据传输过程中出现的半包和粘包的情况。

2.重构网络传输层的架构。

3.添加批量处理数据包。

4.添加了对前台开发WebSocket API 应用框架CshBBrainJS的支持 。

5.提供了工业级应用开发实例:数码快看 (http://211.100.41.186:8989/mcms/ws/index_ws_tom.html )

由于知识产权的关系,提供的实例屏蔽了部分功能,混淆了前台代码,只支持高版本的Chrome浏览器。如果你对数码快看感兴趣,你可以到 http://www.qook.com.cn/ 去下载.屏蔽掉部分功能的实例程序可能会有些不稳定的地方,请谅解。

实例程序的截图:

 




 

 

源代码已经更新到googlecode:http://code.google.com/p/cshbbrain/downloads/list

github V2.0.3:https://github.com/CshBBrain/CshBBrain/downloads

github V4.0.2 :https://github.com/CshBBrain/CshBBrainAIO

 

 

开源图片服务器CshBBrainPP V1.2发布

 

修复不能清除如下死连接

客户端与服务器端建立好链接,由于客户端异常一直未能发送请求数据到服务器端,客户端也一直没有关闭掉连接,服务器端在做超时处理时没有清除此类死连接;在并发量非常大的情况下会出现大量死链接,耗尽服务器资源而崩溃。

 

已经上传到googlecode:https://code.google.com/p/cshbbrainpp/downloads/list



 

github更新了最新版本的客户端同步代码是报如下异常,代码暂未更新,有点遗憾。




 
最近有点忙,没时间折腾,github上的源代码更新 等有时间在弄了。

 

 

开源WebSocket服务器宝贝鱼(CshBBrain) V2.0.4  和 CshBBrainAIO V 4.0.3发布同时发布

 

修复不能清除如下死连接

客户端与服务器端建立好链接,由于客户端异常一直未能发送请求数据到服务器端,客户端也一直没有关闭掉连接,服务器端在做超时处理时没有清除此类死连接;在并发量非常大的情况下会出现大量死链接,耗尽服务器资源而崩溃。

 

已经上传到googlecode:https://code.google.com/p/cshbbrain/downloads/list



 

github更新了最新版本的客户端同步代码是报如下异常,代码暂未更新,有点遗憾。




 
最近有点忙,没时间折腾,github上的源代码更新 等有时间在弄了。

 

谢谢你们的关注!

 

  • 大小: 22.2 KB
  • CshBBrain.rar (867.8 KB)
  • 描述: CshBBrain V1.0.1.rar
  • 下载次数: 93
分享到:
评论
44 楼 独自空楼茉莉为谁而开 2017-03-31  
解决啦,仿照你的广播发送写的代码 嘿嘿
43 楼 独自空楼茉莉为谁而开 2017-03-31  
小弟有一个问题 我在本地开启两个页面访问后台,后台稍微修改下代码 保存了这两个channel 后台发送给前端数据时,只有一个页面才能收到消息,无法区分本地多个channel?
42 楼 moonights 2014-07-24  
感觉没有OOP的思想在里面  都耦合到MasterServer里面去了 建议看下pushlet 的分层和事件机制....
41 楼 CshBBrain 2013-08-10  
657927393 写道
V2.0.4版本的集群不能运行成功,参数的配置也完全正确,但业务服务器和管理服务器握手好像是失败的。求指教,求盖楼额!



针对宝贝鱼(CshBBrain)集群的问题,我专门写了一片博客介绍集群相关以及如何配置,请参考博文:宝贝鱼(CshBBrain)集群配置使用说明 http://cshbbrain.iteye.com/admin/blogs/1923024

希望对你有所帮助。
40 楼 CshBBrain 2013-08-10  
cder 写道
集群环境还是不成功,业务服务器和管理服务器握手好像是失败的,望赐教!


针对宝贝鱼(CshBBrain)集群的问题,我专门写了一片博客介绍集群相关以及如何配置,请参考博文:宝贝鱼(CshBBrain)集群配置使用说明 http://cshbbrain.iteye.com/admin/blogs/1923024

希望对你有所帮助。
39 楼 657927393 2013-08-09  
CshBBrain 写道
657927393 写道
V2.0.4版本的集群不能运行成功,参数的配置也完全正确,但业务服务器和管理服务器握手好像是失败的。求指教,求盖楼额!

我周末抽时间帮你看看

谢谢大神的不吝赐教!
38 楼 CshBBrain 2013-08-09  
657927393 写道
V2.0.4版本的集群不能运行成功,参数的配置也完全正确,但业务服务器和管理服务器握手好像是失败的。求指教,求盖楼额!

我周末抽时间帮你看看
37 楼 657927393 2013-08-09  
V2.0.4版本的集群不能运行成功,参数的配置也完全正确,但业务服务器和管理服务器握手好像是失败的。求指教,求盖楼额!
36 楼 cder 2013-08-08  
集群环境还是不成功,业务服务器和管理服务器握手好像是失败的,望赐教!
35 楼 CshBBrain 2013-08-07  
cder 写道
CshBBrain 写道
cder 写道
集群怎么使用啊,普通服务器和管理服务器无法建立握手,求集群使用说明,最好能够详细点,万分感谢!


#the cluseter switch,0:close,1:open
clustersSwitch=1

集群开关,0:表示关闭集群,1表示开启集群

#the cluseter port for the server
clustersPort=9191

用于和集群中管理服务器通信的端口

#the responsibility of the server,1:biz server,2:master server,3:biz and master server
clustersRole=3

服务器的角色,1:节点服务器,2:管理服务器,3:节点服务器和管理服务器兼任

#the master server address,include the ip and port
masterServer=192.168.1.220:9292

管理服务器的地址和端口,端口为管理服务器配置文件中的port


是使用ClustersServer类运行吗?管理服务器和业务服务器除了配置文件外,运行时还需要注意其他的吗?非常感谢!


对的,使用ClustersServer 运行,因为集群协议需要用到专门的编码解码器,虽然集群的协议和websocket的协议看起来比较像,但还是有差别的。
34 楼 cder 2013-08-07  
CshBBrain 写道
cder 写道
集群怎么使用啊,普通服务器和管理服务器无法建立握手,求集群使用说明,最好能够详细点,万分感谢!


#the cluseter switch,0:close,1:open
clustersSwitch=1

集群开关,0:表示关闭集群,1表示开启集群

#the cluseter port for the server
clustersPort=9191

用于和集群中管理服务器通信的端口

#the responsibility of the server,1:biz server,2:master server,3:biz and master server
clustersRole=3

服务器的角色,1:节点服务器,2:管理服务器,3:节点服务器和管理服务器兼任

#the master server address,include the ip and port
masterServer=192.168.1.220:9292

管理服务器的地址和端口,端口为管理服务器配置文件中的port


是使用ClustersServer类运行吗?管理服务器和业务服务器除了配置文件外,运行时还需要注意其他的吗?非常感谢!
33 楼 CshBBrain 2013-08-05  
cder 写道
集群怎么使用啊,普通服务器和管理服务器无法建立握手,求集群使用说明,最好能够详细点,万分感谢!


#the cluseter switch,0:close,1:open
clustersSwitch=1

集群开关,0:表示关闭集群,1表示开启集群

#the cluseter port for the server
clustersPort=9191

用于和集群中管理服务器通信的端口

#the responsibility of the server,1:biz server,2:master server,3:biz and master server
clustersRole=3

服务器的角色,1:节点服务器,2:管理服务器,3:节点服务器和管理服务器兼任

#the master server address,include the ip and port
masterServer=192.168.1.220:9292

管理服务器的地址和端口,端口为管理服务器配置文件中的port
32 楼 cder 2013-08-05  
集群怎么使用啊,普通服务器和管理服务器无法建立握手,求集群使用说明,最好能够详细点,万分感谢!
31 楼 CshBBrain 2013-06-23  
2013年中国优秀开源项目正火热评选中
https://code.csdn.net/2013ossurvey

支持CshBBrain开源的请帮忙去投一票,谢谢
30 楼 CshBBrain 2013-04-12  
后面将考虑 把 网络传输层 框架 独立成一个单独的项目。免得修改一个网络传输层的代码,到处复制代码。
29 楼 CshBBrain 2013-04-12  
此版本主要处理 因客户端程序发生异常 而 客户端又一直没有发送任何数据,也没有关闭连接,不能清除此类死连接的问题。
28 楼 CshBBrain 2012-12-07  
CshBBrain V2.0.3 和CshBBrain V4.0.2发布,配套的前台框架 CshBBrainJS也发布1.0.0版。
27 楼 yangfuchao418 2012-11-29  
能否说下实时推送
26 楼 CshBBrain 2012-11-13  
ouyangwanbin 写道
为什么股指推送和广播仅仅只支持一个客户端呢?开两个,其中一个就无法推送了。。。。


http://cshbbrain.iteye.com/blog/1724348
开源WebSocket服务器项目宝贝鱼CshBBrain V4.0.1 和 V2.0.2发布

更新的功能列表如下:
1.解决开启广播消息开关时,不能同时接入2个客户端的重大缺陷。
2.对广播消息做了重大优化,从以前一个线程发送广播消息进化到使用工作线程池中的线程并行的发送广播消息。
3.发送给所有客户端的广播消息共享一个消息的内容,避免大量重复的消息编码缓存处理工作,有效的提升广播消息的效率。
4.对框架的响应写回机制做了重大优化,服务器工作线程接收完消息,进行解码、业务处理和编码,以前是注册一个回写事件;优化后的处理方式时工作线程首先调用
回写函数向客户端回写内容,如果回写的内容不多,在工作线程中就处理完了,就避免了线程的切换,响应速度更快了;如果回写的内容多,工作线程的回写调用不能写
完全部内容,然后再注册回写事件,让Selector继续完成剩余内容的回写工作。优化后对于要求快速响应,消息内容短小的应用效果明细。

源代码已经更新到googlecode:http://code.google.com/p/cshbbrain/downloads/list
github:https://github.com/CshBBrain/CshBBrain/downloads

基于AIO的版本在github上单独创建了一个源代码库:https://github.com/CshBBrain/CshBBrainAIO
25 楼 CshBBrain 2012-11-08  
ouyangwanbin 写道
为什么股指推送和广播仅仅只支持一个客户端呢?开两个,其中一个就无法推送了。。。。

我测试了下,这的确是个bug,后续版本会修复的,只有开启广播消息时存在这个问题。谢谢你的关注。

相关推荐

    CshBBrainJS.zip

    为了更好的支持开发基于Websocket的应用,开源WebSocket服务器项目 宝贝鱼(CshBBrain)推出了与之配套的 前台WebSocket API js CshBBrainJS框架。CshBBrainJS的主要目的是与开源WebSocket服务器项目 宝贝鱼(CshBBrain...

    宝贝鱼(CshBBrain)_是一个来自中国的简单的轻量级的高性能的WebSocket服务器。支持服_CshBBrain.zip

    宝贝鱼(CshBBrain)_是一个来自中国的简单的轻量级的高性能的WebSocket服务器。支持服_CshBBrain

    C++ 实现WebSocket 服务器

    在本项目中,我们使用C++来实现一个WebSocket服务器,借助了libuv库来处理TCP层面的基础工作,并利用gbase作为辅助工具。 ### C++ 语言特性 C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化...

    MFC websocket server | MFC websocket服务器

    10. **应用逻辑**:在实际项目中,MFC WebSocket服务器不仅要处理连接,还需要实现具体的应用逻辑,如接收客户端发送的数据、处理业务逻辑并返回响应。 在提供的压缩包文件中,`WsServer.exe`应该是编译后的可执行...

    MFC websocket服务器和客户端

    总的来说,MFC WebSocket服务器和客户端的实现涉及网络编程、协议解析、多线程等技术,是一个综合性的项目。通过这个项目,开发者不仅可以学习到MFC的应用,还能深入理解WebSocket协议的工作原理和实现方式。

    基于C++ SOCKET编程的WebSocket服务器(linux)

    在本项目中,我们将探讨如何在Linux环境下,利用C++的SOCKET编程技术来实现一个WebSocket服务器,而不依赖任何开源库。 首先,我们需要理解C++中的SOCKET编程基础。在C++中,SOCKET是网络编程的基本接口,它提供了...

    ESP32 的WebSocket 服务器

    2. **编写WebSocket服务器代码**:在ESP32的项目中,创建一个新的C或C++源文件,例如`websocket_server.cpp`。在这里,你需要导入ESP32的网络库,如`esp_websocket_client.h`,并实现WebSocket连接的初始化、连接...

    webSocket 服务器端的简单实现

    WebSocket是一种在Web应用中实现全双工通信的协议,它允许服务器和客户端之间进行实时、低延迟的数据交换。WebSocket协议是HTML5的一个重要特性,它弥补了HTTP协议在长连接和双向通信上的不足,为实时Web应用提供了...

    易语言websocket服务器

    易语言websocket服务器源码,websocket服务器,握手包处理,生成握手参数列,创建返回握手包,返回数据包处理,接收数据包解码,高级截取文本,取sha1,切片,ord,字节集到十六进制,十六进制到字节集,取十进制,取数值,utf8到...

    c++ websocket服务器和html客户端

    1. **WebSocket服务器**:使用C++编写,实现了WebSocket服务器端。C++是一种通用的、面向对象的编程语言,其强大的性能和底层控制能力使其成为构建网络服务的理想选择。WebSocket服务器的主要任务是接收来自客户端的...

    WebsocketServer测试服务器

    WebSocketServer测试服务器是一种基于WebSocket协议的服务器实现,用于实时、双向通信。WebSocket协议是HTML5引入的一种在单个TCP连接上进行全双工通信的协议,它为客户端和服务器之间的数据交换提供了简单直接的...

    C# WebSocketServer服务器源代码.zip

    3. **WebSocketChatServer**:这个名字暗示这是一个聊天服务器的实现,它可能扩展了WebSocketServer,提供了更具体的业务逻辑,如处理聊天消息的发布、订阅、广播等。在这个类中,你可以找到处理用户输入、存储聊天...

    websocket服务器

    WebSocket服务器是一种实现双向通信的技术,它允许服务器与客户端进行实时数据交换,而无需为每个请求创建新的连接。在Web开发中,WebSocket协议是HTML5的一部分,解决了传统的HTTP长轮询和 comet 技术效率低下的...

    c# winform快速建websocket服务器源码 wpf快速搭建websocket服务

    c# winform快速建websocket服务器源码 wpf快速搭建websocket服务 c#简单建立websocket服务 websocket快速搭建 随着互联网技术的飞速发展,实时交互和数据推送已成为众多应用的核心需求。传统的HTTP协议,基于请求-...

    c c++实现websocket服务器 c c++实现websocket客户端

    这个代码例子使用了c c++实现了websocket 开发 包含了websocket服务器和websocket客户端,拥有详细的解释 这个库比libwebsocket更加简单方便,比libsocket更加高效便捷.

    WebSocket服务器的.NET实现 SuperWebSocket

    SuperWebSocket是WebSocket协议服务器端的.NET实现. 作为HTML5的一个重要新特性,WebSocket 规范的目标是在浏览器中实现和服务器端双向通信.双向通信可以拓展浏览器上的应用类型,例如实时的数据推送(股票行情),...

    WebSocket服务器端+Html5客户端

    WebSocket是一种在客户端和服务器之间建立持久连接的网络协议,它为双向通信提供了低延迟、高效率的通道。在Web开发中,WebSocket极大地扩展了HTML5的能力,使得实时数据传输成为可能,无需频繁地进行HTTP请求和响应...

    websocket服务器.rar

    WebSocket服务器是一种用于实现双向通信的网络技术,它允许服务器和客户端之间进行持续的、低延迟的数据交换。在传统的HTTP协议中,服务器与客户端之间的通信是基于请求-响应模型的,而WebSocket则打破了这一限制,...

Global site tag (gtag.js) - Google Analytics