< p >对于
FIONREAD
的ioctl
,它返回的是缓冲区中数据的总字节数,而不是下一个数据包的长度。
假设有一个UDP
服务器,接收到来自两个客户端1的2个数据包,然后再接收到来自客户端2的2个数据包,那么此时FIONREAD
的值是多少?在这种情况下readfrom
会返回什么?
客户端1: v两个数据包
++UDP服务器收到4个数据包<-FIONREAD?
客户端2: ^两个数据包
FIONREAD? (服务器)
- 客户端1第一个数据包的长度
- 客户端1的两个数据包的长度
- 客户端1和客户端2各自的两个数据包的长度之和
- 客户端1的第一个数据包和客户端2的第一个数据包的长度之和
- 其他