none
socket发送和接收缓冲区 RRS feed

  • 问题

  • 你好:

           请问一下socket的发送和接收缓冲区的大小是通过设置就固定了不变的还是系统根据实际情况会动态调整大小?

    2018年12月13日 6:49

全部回复

  • 你好,

    感谢在MSDN论坛发帖。

    >> 请问一下socket的发送和接收缓冲区的大小是通过设置就固定了不变的还是系统根据实际情况会动态调整大小?

    正常情况下都是设置固定值的,主要的方法就是通过调用setsockopt方法来进行socket缓冲区大小设置。但是在进行缓冲区大小设定之前,建议你最好先计算一下所需要的socket缓冲区的估计值,然后再进行设置。

    也有人建议为socket缓冲区大小提供自动调整机制。包括使用ICMP-based测试机制确认往返时间RTT(round-trip time), 它们利用这些机制为给定的连接设置socket缓冲区大小。在大多数情况下, 将socket缓冲区设置为已知的估计值就行。

    Best Wishes,

    Jack


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年12月14日 7:47
    版主
  • 你好,

    感谢在MSDN论坛发帖。

    >> 请问一下socket的发送和接收缓冲区的大小是通过设置就固定了不变的还是系统根据实际情况会动态调整大小?

    正常情况下都是设置固定值的,主要的方法就是通过调用setsockopt方法来进行socket缓冲区大小设置。但是在进行缓冲区大小设定之前,建议你最好先计算一下所需要的socket缓冲区的估计值,然后再进行设置。

    也有人建议为socket缓冲区大小提供自动调整机制。包括使用ICMP-based测试机制确认往返时间RTT(round-trip time), 它们利用这些机制为给定的连接设置socket缓冲区大小。在大多数情况下, 将socket缓冲区设置为已知的估计值就行。

    Best Wishes,

    Jack


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

        你好:

              但是测试下来接收的数据是超过设置的缓冲区大小的。

    2018年12月17日 1:43
  • 你好

    你的意思是,你只发送了发送缓冲区大小的数据,而你接收到的数据大小要比这个数据大?

    或许是因为在计算机网络的帧结构中,除了发送一些你指定的数据同时,还会有些系统开销,就是很多控制信息,是用来帮助完成通信的,你接受到的多余的数据是否就是这些系统开销。

    Best Wishes,

    Jack


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年12月18日 6:01
    版主