选项 public final static int TCP_NODELAY = 0x0001; public final static int SO_REUSEADDR = 0x04; public final static int SO_LINGER = 0x0080; ...
分类:
编程语言 时间:
2014-11-06 01:55:53
阅读次数:
294
TCP_NODELAY
默认情况下,发送数据采用Nagle 算法。这样虽然提高了网络吞吐量,但是实时性却降低了,在一些交互性很强的应用程序来说是不允许的,使用TCP_NODELAY选项可以禁止Nagle 算法。
此时,应用程序向内核递交的每个数据包都会立即发送出去。需要注意的是,虽然禁止了Nagle 算法,但网络的传输仍然受到TCP确认延迟机制的影响。
TCP_CORK
...
分类:
编程语言 时间:
2014-11-03 17:50:02
阅读次数:
234
当调用closesocket关闭套接字时,SO_LINGER将决定系统如何处理残存在套接字发送队列中的数据。处理方式无非两种:丢弃或者将数据继续发送至对端,优雅关闭连接TCP_NODELAY: 表示立即发送数据.SO_RESUSEADDR: 表示是否允许重用Socket 所绑定的本地地址.SO_TI...
分类:
其他好文 时间:
2014-10-21 00:37:50
阅读次数:
286
Socket选择可以指定Socket类发送和接受数据的方式。在JDK1.4中共有8个Socket选择可以设置。这8个选项都定义在java.net.SocketOptions接口中。定义如下: public?final?static?int?TCP_NODELAY?=?0x0001;pu...
分类:
编程语言 时间:
2014-10-10 20:33:24
阅读次数:
311
Java socket参数选项: TCP_NODELAY: ?表示立即发送数据 SO_RESUSEADDR: ?表示是否允许重用socket所绑定的本地地址 SO_TIMEOUT : ?表示接收数据时的等待超时时间 。 单位为毫秒,默认值为0 , 表示永远等待。...
分类:
编程语言 时间:
2014-08-18 12:45:05
阅读次数:
287
在网络拥塞控制领域,我们知道有一个非常有名的算法叫做Nagle算法(Nagle
algorithm),这是使用它的发明人John Nagle的名字来命名的,John
Nagle在1984年首次用这个算法来尝试解决福特汽车公司的网络拥塞问题(RFC 896),该问题的具体描述是:如果我们的应用程序一次...
分类:
其他好文 时间:
2014-06-11 08:57:34
阅读次数:
267
send()函数默认情况下会使用Nagle算法,Nagle算法通过将未确认的数据存入缓冲区直到积攒到一定数量一起发送的方法,来减少主机发送零碎小数据包的数目。所以如果send()函数发送数据过快的话,该算法会将一些数据打包后统一发出去。如果不了接这种情况,接收端采会遇到看似很奇怪的问题,比如成功recv()的次数与成功send()的次数不相等,在这中情况下,接收端可以通过recv()的返回值是否为...
分类:
编程语言 时间:
2014-05-05 12:52:04
阅读次数:
385