2012-09-29 2 views
1

많은 수명이 긴 동시 연결에 대해 Erlang 웹 서버의 일부로 아래 코드를 사용했습니다.Erlang gen_tcp delaying send

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 옵션을 추가에도 불구하고, 그것은 데이터의 더 큰 덩어리 하나가 전송 될 때까지 소량의 데이터가 전송되지 않거나 서버의 살해 있도록 데이터를 버퍼링 할 것으로 보인다. 왜 그런가요? 그리고 모든 데이터를 즉시 보내도록하려면 어떻게해야합니까?

+0

왜 "그렇게 보입니까?" 이걸 시험하는 법? – user601836

답변

0

iPad 클라이언트에서 데이터를 버퍼링하고 NSURLConnection을 즉시 전달하지 않는 것으로 나타났습니다.

저는 CFNetwork로 전환했습니다. 재미 있습니다.