socket缓存当中的内容,是存在于内核空间还是用户空间?该如何处理
socket缓存当中的内容,是存在于内核空间还是用户空间?
网上说,不论windows/linux,一个socket句柄接收到消息以后,总是cache在缓存里面,然后用户调用recv函数的时候再拷贝到用户的数组里面。
我想知道,这个socket句柄的缓存,是winsock.dll里面开辟的内存空间(占用用户内存空间),还是占用windows系统的内存空间呢?
大牛给个解释哈!
------解决方案--------------------
系统的
------解决方案--------------------
知道它的存在就可以了,没必要具体在哪?
不同的I/O模式,对那块的内存的处理模式有很大的不同;
但有一点可以确定,你不可以直接操作那块内存,只能在特定的条件下通过的某个函数来操作它
------解决方案--------------------
afd.sys
网上说,不论windows/linux,一个socket句柄接收到消息以后,总是cache在缓存里面,然后用户调用recv函数的时候再拷贝到用户的数组里面。
我想知道,这个socket句柄的缓存,是winsock.dll里面开辟的内存空间(占用用户内存空间),还是占用windows系统的内存空间呢?
大牛给个解释哈!
------解决方案--------------------
系统的
------解决方案--------------------
知道它的存在就可以了,没必要具体在哪?
不同的I/O模式,对那块的内存的处理模式有很大的不同;
但有一点可以确定,你不可以直接操作那块内存,只能在特定的条件下通过的某个函数来操作它
------解决方案--------------------
afd.sys