UDP通信中系统有一个8.6K的缓存区
在TCP\UDP编程中,系统有一个接收数据的缓存,这个缓存负责将网络传过来的数据放入其中,然后recv是从这个系统缓存取数据,系统默认的SOCKET接受缓存的大小为8688B(8.6K左右),如果sock函数recv或recvFrom从系统缓存中接受数据太慢,那么系统接受到新数据后就会将原缓存给覆盖了,这样在次调用recv函数就获取到了新数据,老数据就丢失了,这时候就要使用setsockopt方法将系统缓存开到32K最合适。
在TCP\UDP编程中,系统有一个接收数据的缓存,这个缓存负责将网络传过来的数据放入其中,然后recv是从这个系统缓存取数据,系统默认的SOCKET接受缓存的大小为8688B(8.6K左右),如果sock函数recv或recvFrom从系统缓存中接受数据太慢,那么系统接受到新数据后就会将原缓存给覆盖了,这样在次调用recv函数就获取到了新数据,老数据就丢失了,这时候就要使用setsockopt方法将系统缓存开到32K最合适。