开发者社区> 问答> 正文

江哥,向你请教个SuperSocket问题?报错

@江振宇 你好,想跟你请教个问题:


使用SuperSocket做服务端,使用自定义FixedHeaderReceiveFilter固定头部格式传输二进制数据,前四个字节是数据包长度,后面紧跟着数据包,使用SuperSocket.ClientEngine.AsyncTcpSession做客户端,当客户端一次发送的数据量小的时候服务端能正常接收数据,当客户端一次发送的数量有几千字节的时候,服务端接收就会报错:客户端会话关闭OnSessionClosed(关闭原因:ProtocolError),我想是不是客户端发送一次数据包过大拆包导致的问题,这个问题该怎么解决?

展开
收起
爱吃鱼的程序员 2020-06-08 20:56:56 933 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    我能说我也遇到这个问题了,搜索到了你,然后去qq群里面问,结果刚问就自己灵光一闪,想起了以前见过ServerConfig里的MaxRequestLength,我直接加上并赋值10000,结果就好了.....

    maxRequestLength
    receiveBufferSize
    sendBufferSize

    这三个参数都加大,socket客户端ReceiveBufferSize也要

    我也碰到这个问题了.还真是MaxRequestLenth 的问题.(我接收的数据是比较大的json包)

    2020-06-08 20:57:12
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载