1
ServerSocket serverSocket
=
new
ServerSocket();
2 System.out.println(serverSocket.getReceiveBufferSize()); // 8192
3 NioSocketAcceptor acceptor = new NioSocketAcceptor();
4 System.out.println(acceptor.getSessionConfig().getReceiveBufferSize()); // 1024
2 System.out.println(serverSocket.getReceiveBufferSize()); // 8192
3 NioSocketAcceptor acceptor = new NioSocketAcceptor();
4 System.out.println(acceptor.getSessionConfig().getReceiveBufferSize()); // 1024
可以看到ServerSocket的 ReceiveBufferSize默认大小为8k。而Mina中却变成了1k。
当传输数据较小的时候,将 ReceiveBufferSize设小,可以提高效率。
但是在做文件传输等大数据传输的时候需要将ReceiveBufferSize设置为较大,否则速度会很慢。
在我的实际项目中,传输文件,每个包的大小是2M,ReceiveBufferSize设置为20k可以达到不错的效果。