我在写一个类似于SSL的网络安全通信库,但遇到一个问题,我查看了SSL的代码,SSL在底层总是一帧一帧的接收数据,将一帧数据收完后,解密后存放到自己的缓冲区里,例如某帧接收到1K的数据,但我的程序在每次循环时调用SSL_read只要求读10 BYTE的数据,读出10BYTE的数据后继续循环,并调用用select,传入附在SSL上的socket句柄作为参数,等待SOCKET句柄上有数据到来,这时我的socket句柄上已经没有数据传送过来了,那么select语句如何才能返回并判断该SOCKET句柄中有数据呢?(因为SSL句柄中已经保存了还没读完的数据,所以应该让select调用返回并判断该socket句柄上有数据到来)我看了SSL的代码,它没有做其他的任何处理啊?
总结一下,我的问题就是如何在SOCKET句柄没数据到来时,操作该句柄,使select语句认为该句柄上已经有数据到来。