VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 608|回复: 1

NIO得性能问题,总是出现延时~~~~

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-28 23:20:02 | 显示全部楼层 |阅读模式
一个通信程序,我的一个类用NIO从网关处得到数据然后是对数据进行组合处理,处理完后在通过一个String得全局变量传给另一个类,该类把这个字符串通过NIO写进NIO得Channel,再者客户端通过NIO从Channel中得到该字符串变量。可是这样运行后8分钟左右就出现延时了。
如果我不把该字符串变量写给客户端的话,就不出现延时~~~~~~~~~~~~~~~
这是怎么回事~~~~~~~~~~~~

public void writeToChannel( SocketChannel channel, String message ) throws IOException {
        //        System.out.println("写");
        int x=channel.socket().getSendBufferSize();
        ByteBuffer buf =ByteBuffer.allocateDirect(x);
        buf=ByteBuffer.wrap( message.getBytes() );
//        ByteBuffer buf=ByteBuffer.wrap(message.getBytes());
//        int nbytes = channel.write( buf );
        channel.write( buf );
        buf.clear();
        channel.close();
}
具体是通过这个方法写进Channel的,看有什么不妥吗???
回复

使用道具 举报

0

主题

39

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-7-5 21:30:02 | 显示全部楼层
channel.close();?你每写一次就关闭?不是长连接吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表