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!");

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1三个相关数据结构. 关于socket的创建,首先需要分析socket这个结构体,这是整个的核心。 104 str...
    ice_camel阅读 2,909评论 1 8
  • 网络模型 物理层 物理层表示的是比特流传输,通常包括串口/COM口、并行/LPT口、USB、网线接口、电话线接口;...
    秋风弄影阅读 762评论 0 2
  • 罗伯特不喜欢雨。因为雨总是会让她想起一些不美好的回忆,尤其是雨夜。黑漆漆的雨夜,渗透着绝望,潮湿的空气里,忧伤像一...
    长眠而已阅读 577评论 2 2
  • 3月18日,球球28天了,明天就要停暖气了,我在忍受了28天之后,洗了一个头,这个舒爽,别提了,我又干净回来了,我...
    曦宝阅读 195评论 0 0
  • 丽丽突然说男朋友跟她分手了。 丽丽很难过,就跑来跟我倾诉,我也算了解了事情的原委。 故事就从头开始讲起吧。 丽丽跟...
    盖世少女Cream阅读 2,125评论 0 2