java命名空间java.net类socket的类成员方法:
setreceivebuffersize定义及介绍
本文导语:
setreceivebuffersize
public void setreceivebuffersize(int size)
throws socketexception
将此 socket 的 so_rcvbuf 选项设置为指定的值。平台的网络连接代码将 so_rcvbuf 选项用作设置底层网络 i/o 缓存的大小的提示。
增大接收缓存...
setreceivebuffersize
public void setreceivebuffersize(int size)
throws socketexception
- 将此 socket 的 so_rcvbuf 选项设置为指定的值。平台的网络连接代码将 so_rcvbuf 选项用作设置底层网络 i/o 缓存的大小的提示。
增大接收缓存大小可以增大大量连接的网络 i/o 的性能,而减小它有助于减少传入数据的 backlog。
由于 so_rcvbuf 是一种提示,想要验证缓冲区设置大小的应用程序应该调用 getreceivebuffersize()
。
so_rcvbuf 的值还用于设置公布到远程同位体的 tcp 接收窗口。一般情况下,当连接套接字时,可以在任意时间更改窗口大小。然而,如果需要的接收窗口大于 64k,则必须在将套接字连接到远程同位体之前请求。下面是需要知道的两种情况:
- 对于从 serversocket 接受的套接字,必须在将 serversocket 绑定到本地地址前通过调用
serversocket.setreceivebuffersize(int)
执行此操作。
- 对于客户端套接字,则必须在将套接字连接到其远程同位体前调用 setreceivebuffersize()。
- 参数:
size
- 要设置的接收缓冲区大小。此值必须大于 0。
- 抛出:
illegalargumentexception
- 如果值为 0 或负。
socketexception
- 如果底层协议出现错误,例如 tcp 错误。- 从以下版本开始:
- 1.2
- 另请参见:
getreceivebuffersize()
,
serversocket.setreceivebuffersize(int)