帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:IMP    Server  socket  JAVA  framework  soc  
Socket.IO server implemented on Java

  • 源代码名称:netty-socketio
  • 源代码网址:http://www.github.com/mrniko/netty-socketio
  • netty-socketio源代码文档
  • netty-socketio源代码下载
  • Git URL:
    git://www.github.com/mrniko/netty-socketio.git
  • Git Clone代码到本地:
    git clone http://www.github.com/mrniko/netty-socketio
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/mrniko/netty-socketio
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • 联网socketio概述

    这个项目是一个开放源码的 socket.io 服务器的Java实现。 基于网联网的服务器框架。

    Checkout 演示项目

    在Apache许可证 2.0下许可。

    特性
    • 支持 0.70.9.16 ( 联网 socketio 1.6.6 ) 和英镑 Socket.IO-client ( 联网socketio最新版本) 版
    • 支持xhr轮询传输
    • 支持 web socket传输
    • 支持命名空间和房间
    • 支持 ack ( 接收接收数据)
    • 支持 SSL
    • 支持客户端存储( 内存,RedissonHazelcast )
    • 支持跨联网的socketio节点分发广播( RedissonHazelcast )
    • 支持 OSGi
    • 支持 spring
    • 锁自由和线程安全实现
    • 通过注释进行声明式处理程序配置
    性能

    客户反馈以 ::
    CentOS,1 CPU,4GB RAM在虚拟机上运行: CPU 10%,内存 15%
    6000个xhr长轮询会话或者 15000 web socket会话
    每秒4000条消息

    客户反馈以 ::
    "测试解决方案we运行 30个同时的web socket客户端,并达到每秒大约 140条消息,每秒 messages messages messages Sports"( c ) Endersz - Kambi Sports

    使用联网socketio的项目

    AVOS云:avoscloud.com
    Bingo: bingocrack.com
    Kambi运动解决方案:kambi.com
    ARSnova: arsnova.eu
    Zipwhip: zipwhip.com

    最近发布的版本 27 -Aug-2016 - 版本 1.7.12已经发布

    特性- SocketIOServer.removeAllListeners 方法添加了 excludedClient 参数增加改进的BroadcastOperations.sendEvent 方法- Redisson更新为 2.4.0固定- 内存泄漏( @CrazyIvan007) )

    13 -Jul-2016 - 版本 1.7.11已经发布

    Fixed - 如果不支持传输,则抛出错误
    修正- 在使用轮询时客户端断开连接

    4 -Mar-2016 - 版本 1.7.10已经发布

    固定- 联网更新到 4.1.0. CR3 版本
    固定- 二进制数据包解析( 感谢 Winston )

    6 -Feb-2016 - 版本 1.7.9已经发布

    特性- 压缩支持
    固定- DotNET客户端请求处理
    固定- 包长度格式解析
    修正- 在数据包中跳过'd='
    固定- 轮询客户端sporatically过早断开连接( 感谢 lpage30 )
    固定- 如果服务器发送 close 数据包,连接永远保持打开状态
    Fixed - 与Redisson最新版本兼容

    30 -Nov-2015 - 版本 1.7.8已经发布

    改进- WebSocketServerHandshaker.allowExtensions 现在是 true
    改进- SessionID cookie实现( 感谢 @ryandietrich) )
    修正- clientRooms泄漏( 感谢 @andreaspalm)
    Fixed - ExceptionListener不用于JSON解析中的错误
    固定-"静音通道"攻击

    26 -Mar-2015 - 版本 1.6.7已经发布

    改进- 为 web socket包添加的useStrictOrdering 参数严格排序
    改进- FAIL_ON_EMPTY_BEANS = false 解码器中的选项设置

    18 -Feb-2015 - 版本 1.7.7已经发布

    改进- 如果你使用自己的JsonSupport实现,不需要添加 jackson lib
    固定- SocketIO客户端 1.3. x 支持
    固定- Charset编码处理( 感谢 alim-akbashev )

    17 -Jan-2015 - 版本 1.7.6已经发布

    改进- SocketIONamespace.getName() 添加
    固定- web socket帧聚合
    固定- web socket缓冲区释放
    固定- Unexpected end-of-input in VALUE_STRING 错误
    Fixed - Access-Control-Allow-Credentials为带源标头的请求提供 true

    05--Dec-2014 - 版本 1.7.5已经发布

    功能- 添加了 Configuration.sslProtocol 参数
    固定- BinaryEvent ack处理
    固定- BinaryEvent非b64编码/解码
    固定- 数据包编码期间的缓冲区泄漏

    15 -Nov-2014-- 版本 1.7.4已经发布

    固定- 数据包编码
    固定- BinaryEvent编码/解码
    固定- 未连接的连接处理

    29 -Sep-2014 - 版本 1.6.6已经发布

    功能- origin 设置已经添加
    功能- crossDomainPolicy 设置已经添加
    添加了 SocketIOServer.startAsync 方法

    24 -Sep-2014 - 版本 1.7.3已经发布

    功能- Epoll支持
    改进- BinaryEvent支持
    固定- SocketIOClient断开处理
    固定- 广播回调
    Fixed - NPE然后在认证期间没有定义传输
    固定- 轮询传输的ping超时
    固定- PacketEncoder中的缓冲区泄漏

    22--Aug-2014 - 版本 1.7.2已经发布

    修正了使用 web socket传输的错误输出消息编码
    web socket传输中的修正
    固定- 轮询传输中的多个数据包解码
    固定- 缓冲区泄漏

    07 -Jul-2014 - 版本 1.7.1已经发布

    特性- 通过 Configuration.origin 设置自定义 Access-Control-Allow-Origin的功能
    固定- 通过 CLI socket.io-client 连接

    28 -Jun-2014 - 版本 1.7.0已经发布

    功能- socket.io 1.0协议支持。 由于新协议解码/编码具有加速功能
    Dropped -,SocketIOClient.sendJsonObject 方法以及相应的侦听器
    降低了 - Flashsocket传输支持
    下降协议版本 0.7.。 0.9.16

    13 -May-2014 - 版本 1.6.5已经发布

    改进- 优化的单包编码,主要用于 web socket传输。 编码时间减少到 40% ( 感谢维克多 Endersz )
    改进- 房间处理优化
    改进- ExceptionListener.exceptionCaught 方法已经添加
    中断api更改 Configuration.autoAck 替换为 ackMode
    功能- 添加了信任存储设置
    功能- maxFramePayloadLength设置已经添加
    特性- getAllClients和getClient方法添加到 SocketIONamespace
    Fixed - SocketIOServer.getAllClients 返回错误的客户端数量

    25 -Mar-2014-- 版本 1.6.4已经发布

    固定- 消息发布问题
    修正- 异常侦听器配置重定义问题
    Breaking api更改 - DataListener.onData 现在引发异常
    改进- 添加到异常侦听器的数据参数
    改进- 设置套接字配置的能力
    改进- Configuration.autoAck 参数已经添加

    06 -Mar-2014 - 版本 1.6.3已经发布

    固定- 客户端断开连接期间的AckCallback处理
    固定- 未授权握手HTTP代码更改为 401
    中断api更改 - Configuration.heartbeatThreadPoolSize 设置已经删除
    特性- 带注释的spring bean通过 SpringAnnotationScanner 支持。
    功能- 常见异常侦听器
    改进- ScheduledExecutorService 替换为 HashedWheelTimer

    08 -Feb-2014 - 版本 1.6.2已经发布

    修正- 错误的命名空间客户端断开连接处理
    Fixed - onConnect/onDisconnect/isAuthorized 方法中的异常导致服务器挂起
    Breaking api更改 - SocketIOClient.sendEvent 方法签名已经更改
    改进- 通过 MultiTypeEventListener 和annotation注释支持多类型事件
    改进- 通过 MultiTypeAckCallback 支持多类型事件支持。
    改进- SocketIOClient.getHandshakeData 方法已经添加
    改进Jedis替换为 Redisson 。

    14 -Jan-2014 - 版本 1.6.1已经发布

    固定- 1.6 + 兼容性
    功能- 授权支持

    19 -Dec-2013 - 版本 1.6.0已经发布

    固定- xhr池传输回归
    固定- web socket传输回归
    Fixed - PacketHandler中的命名空间 NPE
    固定- 在服务器停止期间执行程序关闭
    功能- 客户端存储( 内存,RedisHazelcast ) 支持
    特性- 跨联网socketio节点的分布式广播( 。RedisHazelcast ) 支持
    特性- OSGi支持( 感谢 rdevera )
    改进- xhr池优化
    改进- SocketIOClient.getAllRooms 方法已经添加

    07 -Dec-2013 - 版本 1.5.4已经发布

    修正- 重新加载后的Flash 策略"请求泄漏"( 感谢 ntrp )
    修正- web socket swf加载( 感谢 ntrp )
    修正- 错误的网址导致潜在的DDoS
    固定- Event.class 软件包可见性已经更改以避免直接使用
    改进- 简化Jackson模块注册

    24 -Oct-2013 - 版本 1.5.2已经发布

    固定- 在关闭期间完成 NPE
    Improvement - 添加到命名空间的isEmpty方法

    13 -Oct-2013 - 版本 1.5.1已经发布

    修正了错误的ack超时回调调用
    Fixed - JSON的bigdecimal序列化
    固定- 数据包处理异常期间的无限循环
    固定-'找不到客户端'处理

    27 -Aug-2013 - 版本 1.5.0已经发布

    改进- 编码缓冲区分配优化。
    改进- 现在存储在内存中的编码缓冲区可以以减少GC压力( 联网 4.x 特性) 。

    03 -Aug-2013 - 版本 1.0.1已经发布

    Fixed - 反序列化过程中未知属性的错误。
    固定轮询传输中的内存泄漏。
    改进- 使用入站数据记录日志错误信息。

    07 -Jun-2013 - 版本 1.0.0已经发布

    首次稳定释放。

    Maven

    将以下内容包括到依赖项列表中:

    <dependency>
     <groupId>com.corundumstudio.socketio</groupId>
     <artifactId>netty-socketio</artifactId>
     <version>1.7.12</version>
    </dependency>

    支持

    YourKit支持这个开放源码项目,它的完全特色的Java分析器。 YourKit,有限责任公司是用于分析Java和. NET 应用程序的创新和智能工具的创建者。 查看yourkit的领先软件产品: YourKit Java Profiler和YourKit. NET 分析器



    文章标签:JAVA  Server    IMP  framework  soc  socket  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语