关于mina服务端发送消息一问题

wode_java 2011-12-22 12:03:06
条件:
1. 服务端mina
2. 长连接
3. 客户端请求,处理之后返回给客户端信息


现象:
1. session.write(object) 成功
2. codec编码encoder 成功
3. out.write(iobuffer) 成功
4. handler messageSent() 未进入
5. 客户端未接受到任何数据

疑问:
1. 什么情况下会发生这种编码了,但是并为真正发送出去
2. 客户端堵塞?
3. 服务端processor堵塞?
...全文
411 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hfl1162040314 2012-08-02
  • 打赏
  • 举报
回复
应该是服务器端编码有问题,服务器端都没有发送过去,或者是因为信息太长,不能发送(应尝试多段发送)。你试一下。可能是后者的原因,
wode_java 2011-12-22
  • 打赏
  • 举报
回复
基本找到问题,散分~
wode_java 2011-12-22
  • 打赏
  • 举报
回复
1-4步骤都是服务端的代码
如果是客户端解码问题,我就又有一个问题了
messageSent() 是在客户端完全收到数据之后调用的(或服务端发送数据完毕)?


还有一个现象之前没说就是:
6. 服务端发送5-6个报文
当客户端接收超时或者服务端报出交易访问超时断开连接之前
服务端将以上5-6个报文真正的发出去了(messageSent()方法被调用5-6次)
大白菜丸子 2011-12-22
  • 打赏
  • 举报
回复
第三步执行了,第4步是客户端handler未进入,那应该就是客户端解码出问题了。

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧