启用/禁用 optid 指定的选项。如果将启用选项,并且它采用选定于选项的 "value",则将其传入 value。值的实际类型是特定于选项的,传递非期望类型的内容将发生错误:
socketimpl s;
...
s.setoption(so_linger, new integer(10));
// ok - set so_linger w/ timeout of 10 sec.
s.setoption(so_linger, new double(10));
// error - expects java.lang.integer
如果请求的选项是二进制的,则其可以由 java.lang.boolean 使用此方法设置:
s.setoption(tcp_nodelay, new boolean(true));
// ok - enables tcp_nodelay, a binary option
使用带有 boolean(false) 的此方法可以禁用任何选项:
s.setoption(tcp_nodelay, new boolean(false));
// ok - disables tcp_nodelay
s.setoption(so_linger, new boolean(false));
// ok - disables so_linger
对于具有打开和关闭概念并且需要非 boolean 参数的选项,将其值设置为 boolean(false) 之外的任何内容都会隐式地启用该选项。
如果未识别选项、套接字被关闭或者发生某种低级别的错误,则抛出 socketexception
- 参数:
optid
- 标识选项value
- 套接字选项的参数
- 抛出:
socketexception
- 如果未识别选项、套接字被关闭或者发生某种低级别的错误- 另请参见:
getoption(int)