几个有用的socket选项
2010-08-08 14:14
232 查看
TCP_NODELAY
作用:启用nagle算法(Nagle's algorithm)
行为:使得socket立即发送一个datagram,并小datagram不合并到大datagram中。
java:使用java.net.Socket#getTcpNoDelay()与java.net.Socket#setTcpNoDelay(boolean on)函数检索和设 置。
SO_LINGER
作用:决定被关闭的socket怎样处理socket缓冲区中的未发送的数据
行为:默认close()立即返回,但系统尝试发送数据。此时 linger。l_onoff=0,linger。l_linger=0
系统关闭调用close()的socket,并抛弃socket缓冲区中的数据。此时linger。l_onoff!=0,linger。 l_linger=0
系统将阻塞调用close()方法的socket所属的进程,直到socket缓冲区中的数据被发送并确认,linger。 l_onoff=0,linger。l_linger!=0
java:使用java.net.Socket#setSoLinger(boolean on, int seconds)和java.net.Socket#getSoLinger检索和 设置该选项的值
SO_TIMEOUT
作用:使得socket在执行读写操作时,等待一段时间即返回。
行为:一直等待直到获得所需的数据,此时等待时间为0,即一直阻塞。
等待一段时间返回。此时不一定获得所需的数据。
java:使用java.net.Socket#setSoTimeout(int time)和java.net.Socket#getSoTimeout()设置和检索该选项
SO_RCVBUF
作用:设置socket接收缓冲区的大小
行为:改变socket接收缓冲区的大小
java:使用java.net.Socket#setReceiveBufferSize(int size)和java.net.Socket#getReceiveBufferSize( ) 设置和检索该选项
SO_SNDBUF
作用:设置socket发送缓冲区大小
行为:改变socket发送缓冲区大小
java:使用java.net.Socket#setSendBufferSizeSize(int size)和java.net.Socket#getSendBufferSizeSize( ) 设置和检索该选项
作用:启用nagle算法(Nagle's algorithm)
行为:使得socket立即发送一个datagram,并小datagram不合并到大datagram中。
java:使用java.net.Socket#getTcpNoDelay()与java.net.Socket#setTcpNoDelay(boolean on)函数检索和设 置。
SO_LINGER
作用:决定被关闭的socket怎样处理socket缓冲区中的未发送的数据
struct linger { int l_onoff; /* 0 = off, nozero = on */ int l_linger; /* linger time */ };
行为:默认close()立即返回,但系统尝试发送数据。此时 linger。l_onoff=0,linger。l_linger=0
系统关闭调用close()的socket,并抛弃socket缓冲区中的数据。此时linger。l_onoff!=0,linger。 l_linger=0
系统将阻塞调用close()方法的socket所属的进程,直到socket缓冲区中的数据被发送并确认,linger。 l_onoff=0,linger。l_linger!=0
java:使用java.net.Socket#setSoLinger(boolean on, int seconds)和java.net.Socket#getSoLinger检索和 设置该选项的值
SO_TIMEOUT
作用:使得socket在执行读写操作时,等待一段时间即返回。
行为:一直等待直到获得所需的数据,此时等待时间为0,即一直阻塞。
等待一段时间返回。此时不一定获得所需的数据。
java:使用java.net.Socket#setSoTimeout(int time)和java.net.Socket#getSoTimeout()设置和检索该选项
SO_RCVBUF
作用:设置socket接收缓冲区的大小
行为:改变socket接收缓冲区的大小
java:使用java.net.Socket#setReceiveBufferSize(int size)和java.net.Socket#getReceiveBufferSize( ) 设置和检索该选项
SO_SNDBUF
作用:设置socket发送缓冲区大小
行为:改变socket发送缓冲区大小
java:使用java.net.Socket#setSendBufferSizeSize(int size)和java.net.Socket#getSendBufferSizeSize( ) 设置和检索该选项
相关文章推荐
- 几个有用的PHP.ini配置项-语言选项
- LoadRunner HTTP协议中几个有用的选项
- 几个有用的系统配置文件选项
- ifort 中的几个有用的调试程序选项
- 几个有用的armlink选项
- LINUX socket 连接的几个问题
- 几个有用的JavaScript/jQuery代码片段
- Socket编程中的强制关闭与优雅关闭及相关socket选项
- 几个有用的svn命令
- socket 请求接收完整的一个http响应(设置recv 接收超时选项SO_RCVTIMEO)
- 几个有用的SAP性能调整的NOTES连接
- 几个有用的Javascript脚本。
- 几个有用的宏
- socket选项--SO_LINGER,SO_REUSEADDR(SO_REUSEPORT)
- 写几个socket编程几个数据结构
- Socket编程中的强制关闭与优雅关闭及相关socket选项
- 学习PHP动态网页技术收集的几个有用函数
- Linux 高性能服务器编程——socket选项
- 几个有用的网站
- Android开发中几个有用的习惯