linux下sctp socket发送延迟问题

在linux下使用sctp socket 发送报文,经常出现应用已经调用了send接口,但是报文并没有从网卡发出去,延迟在100ms以上。

原因应该是send仅仅把报文放到了缓冲区,而内核并没有真正的发送出去。

需要把socket设置为非延迟发送。

int tmpflag = 1;

if(-1 == setsockopt( connSock, IPPROTO_SCTP, SCTP_NODELAY, 
                     (const void *)&tmpflag, sizeof(int)))
{
    ERR_LOG("setsockopt of SCTP_NODELAY error!");
}

你可能感兴趣的:(☀网络)