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