MSG_PEEK参数的解释

MSG_PEEK参数

通常recv()函数的最后一个参数为0,代表从缓冲区取走数据,而当为MSG_PEEK时代表只是查看数据,而不取走数据。

举例:例如套接字缓冲区现有序列''abc'',外部缓冲区即字符数组大小为1,每次只能从套接字中缓冲区读取一个字符。当最后一个参数为0时,调用recv(),套接字缓冲区序列变为''bc''。当最后一个参数为MSG_PEEK时,调用recv(),套接字缓冲区为''abc''。

参考

https://blog.csdn.net/sinat_37372543/article/details/100189665