Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Henry
    @IKende
    自己根据情况分配MaxMemory
    这个代码你通过fork的方式自己修改,这个不太会考虑把这个成集进去,毕竟可以通过其他方式解决
    NewNewPeople
    @ttjacky
    明白的,你那边如果业余有空的话,我可以付些费用来让你帮忙解决一些这个服务器的问题
    Henry
    @IKende
    如果你们需要技术支持,可以把详细的需求描述一下发到admin@beetlex.io,我可以针你们的需求来制定相关费用和实现方案:)
    NewNewPeople
    @ttjacky
    目前主要是咨询,牵扯到一些优化和集群的问题,还没到开发的层面
    我弄个文档描述一下,先发给你。因为是把这个WebSocket框架用于互联网站点,结果单台性能没达到预期,不知道是哪里出的问题
    另外问下,那个httpConfig.json文件改了后要重启服务的吧?
    Henry
    @IKende
    是的要重启,如果你是WebSocket+json,建议重写json解释器,默认的解释器只是为了完成功能,性能并不好
    NewNewPeople
    @ttjacky
    没用json,是自定义的字符串命令处理,控制台程序
    NewNewPeople
    @ttjacky
    已经发邮件了
    Henry
    @IKende

    添加ActionRegisting事件和AuthMarkAttribute特性

    • ActionRegisting
      事件用于Action注册前的其他逻辑处理,如添加一些过虑器或取消注册等。

    • AuthMarkAttribute验证标记用于描述Action的验证级别,当以组件模式开发的时候可以通过它来标记Action的验证级别,主宿程序可以根据这个标记为Action添加相应的验证过虑器

    nodyang
    @nodyang
    我一个域名下 挂了2个节点。但是有一个节点超时了。并没有访问另外一个节点。程序就一直卡在哪
    error Connection timed out 172.16.10.54:9999@Connection timed out 172.16.10.54:9999 status Requesting
    172.16.10.54:9999 completed code 570 use time:242909ms
    Henry
    @IKende
    组件是不会马上切过去的,会在N次无法访问的情况才会落到另一个节点,这个N默认没记错是3
    570是指访问节点服务的socket最后抛异常了
    这个时长可以说是设计上的一个问题,因为现在的超时完全看socket触发异常的时间,由于是异步所以这个时间有点不可控
    我叫锄头
    @nodyang_twitter
    这个问题好解决不。
    Henry
    @IKende
    找时间我思考一下怎调整
    RichardsATcn
    @RichardsATcn
    想问下各位,
    [11:27:55] [Warring] no serverGC mode,please enable serverGC mode! 这个警告需要关注么?会不会导致内存泄漏。
    Henry
    @IKende
    @RichardsATcn 这只是一种GC模式,serverGC可以在并发服务上发挥更好的性能,不过也要你有足够的内存和多核CPU
    我叫锄头
    @nodyang_twitter
    Henry
    @IKende
    @nodyang_twitter 没停
    我叫锄头
    @nodyang_twitter
    我为什么一直变成空白页了。。
    RichardsATcn
    @RichardsATcn
    "FileManager": true,
    "FileManagerPath": "D:\\Project\\JC\\FileStore", 这两个设置打开了后 http的链接是怎么样的呢? 这个FileManager  的配置 有类似 ngx的那种 文件列表么
    Henry
    @IKende
    @RichardsATcn 这个功能移走了
    xuanyuan5005
    @xuanyuan5005
    @IKende 有没有计划增加,类似 Netty LengthFieldBasedFrameDecoder类似方案,来解决粘包的方案。
    Henry
    @IKende
    @xuanyuan5005 你的需要是不是http://doc.beetlex.io/#dbc27ef4d3714f5b8fda35cf4f3c89a8
    xuanyuan5005
    @xuanyuan5005
    • +------+--------+------+----------------+
    • | HDR1 | Length | HDR2 | Actual Content
    • | 0xCA | 0x0010 | 0xFE | "HELLO, WORLD" Message--------> HELLO, WORLD
    • +------+--------+------+----------------+

    • +------+--------+------+----------------+

    • | HDR1 | Length | HDR2 | Actual Content
    • | 0xCA | 0x0014 | 0xFE | "HELLO, WORLD 2020" Message--------> HELLO, WORLD 2020
    • +------+--------+------+----------------+
    很多时候,数据帧的格式是边长的。
    很多时候,数据帧的格式是变长的。
    _
    我不知道,我表述的是否清楚?
    Henry
    @IKende
    @xuanyuan5005
    @xuanyuan5005 FixedHeaderPacket是用来描述一个变长体消息,它是以4字节或2字节作为描述消息长度的规则
    xuanyuan5005
    @xuanyuan5005
    @IKende FixedHeaderPacket 默认消息长度放在最前面。

    eg
    Header Length Address Data CS Rear

    Header Address Length Data CS Rear

    xuanyuan5005
    @xuanyuan5005
    Header Address Header Control Length Data CS Rear Length is Data length.

    Header Address Header Control Length Data CS Rear

    Length is Data length.

    也就说,有帧头和帧尾,以及校验。很多时候,别人有成熟的协议体系。eg:DLT645-2007
    eg:IEC101
    xuanyuan5005
    @xuanyuan5005
    eg:以及物联网上的应用,指纹锁,智能设备。
    Henry
    @IKende
    @xuanyuan5005 这种只能根据自己需求扩展,具体可查看https://github.com/IKende/FastHttpApi/blob/master/src/WebSockets/DataFrame.cs
    @xuanyuan5005 以上是一个websocket数据帧示例
    Ramon
    @Ramon403
    老大你自己的聊天程序呢
    Henry
    @IKende
    image.png
    @Ramon403 还没有这么快完成
    wwping
    @wwping
    网关怎么更新到最新的管理界面呀
    Henry
    @IKende
    @wwping 后面都不会发布新版本插件了,只能用旧的或用户自己扩展