Erlang gen_tcp延迟发送

时间:2012-09-29 22:37:35

标签: erlang gen-tcp

我将以下代码作为Erlang Web服务器的一部分,用于许多长期并发连接。

SockOpts = [
    binary,
    {active, false},
    {packet, http_bin},
    {reuseaddr, true},
    {packet_size, 16384},
    {recbuf, 16384},
    {backlog, 100},

    {delay_send, false},
    {nodelay, true}
],
gen_tcp:listen(Port, SockOpts)

尽管我添加了delay_sendnodelay选项,但似乎是缓冲数据,因此在发送更大的数据块或服务器被杀之前,不会发送小块数据。为什么会这样,我如何强制它立即发送所有数据?

1 个答案:

答案 0 :(得分:0)

原来是iPad客户端的NSURLConnection缓冲数据,而不是立即传递。

我切换到CFNetwork,这很有趣。