yzy3087 2014-12-23 14:00
浏览 1098

mina 编码 写出,延时,flush

是这样的,我在Iohandler中的messageReceived中监听请求,收到了请求按分页去查询,我会返回一百页数据,类似于
messageReceived (IoSession session, Object message) {
for(int i=0;i<100;i++){
p = findbyPage(pageNo,pageSize);
for(Object obj : p.list()){
session.write(obj); ---------------1
}
}
system.out.println("over") ------------------2
}
我发现执行1后对方还没有收到发送的数据,执行到2仍没有,只有当messageReceived方法执行完毕了返回了数据才会发送至另外一方,不是异步IO吗为什么没有即刻刷写出去呢,采用的自定义的编码器,编码器里面调用
void encode(IoSession session, Object message, ProtocolEncoderOutput out) {
......
.....
out.write(buf);
out.flush();
}
这个flush也没法立刻刷写
想问下是哪儿可以配置立刻刷写吗?数据都在内存里面,因为我查询一百页花费的时间会比较长,不能等到messageReceived结束再发送的,求大神帮忙。刚用mina不懂的较多。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 我这模型写的不对吗?为什么lingo解出来的下面影子价格这一溜少一个变量
    • ¥50 树莓派安卓APK系统签名
    • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
    • ¥65 汇编语言除法溢出问题
    • ¥15 Visual Studio问题
    • ¥20 求一个html代码,有偿
    • ¥100 关于使用MATLAB中copularnd函数的问题
    • ¥20 在虚拟机的pycharm上
    • ¥15 jupyterthemes 设置完毕后没有效果
    • ¥15 matlab图像高斯低通滤波