这时,你可以使用MSG_PEEK标志。 MSG_PEEK标志的作用 MSG_PEEK是recv函数的一个可选标志,它允许你查看数据而不实际从套接字接收缓冲区中移除它。这意味着,如果你使用MSG_PEEK标志来调用recv,你可以看到数据,但下次你再次调用recv时,这些数据仍然会在那里,因为它们并没有被真正读取。 recv函数与MSG_PEEK标志的使用 ...
recv函数的MSG_PEEK标志介绍 考虑下面的场景,server向client发送数据"_META_DATA_\r\n_USER_DATA_",要求"\r\n"之前的数据_META_DATA_在第一次recv中接收,剩下的recv调用读取_USER_DATA_部分的数据。因为tcp是stream协议,并且_META_DATA_数据不是定长的,所以没有办法保证一次recv调用不读到_USER_DATA_部分的...
recv函数的MSG_PEEK标志介绍 2016-06-22 16:18 − 考虑下面的场景,server向client发送数据"_META_DATA_\r\n_USER_DATA_",要求"\r\n"之前的数据_META_DATA_在第一次recv中接收,剩下的recv调用读取_USER_DATA_部分的数据。因为tcp是stream协议,并且_META_DATA_数据不是... `Elaine 0 784 {{msg}...