假设您指的是OpenSSL,它位于套接字之上,它不会替换它.因此,所有直接套接字操作select()仍然有效.然而不同的是,OpenSSL的处理阅读和写作给你,让你将取代recv()与ssl_read()和send()用ssl_write(),但你可以(在某些情况下需要)仍采用select()直接.但是,您不能随时调用它,您必须等到OpenSSL告诉您调用它.因此,例如,如果您有一个select()首先调用的读取循环,然后recv()仅在select()报告可读性时调用,则必须交换该逻辑.ssl_read()首先调用,然后select只有在ssl_read()返回时调用()SSL_ERROR_WANT_READ或SSL_ERROR_WANT_WRITE(注意ssl_read()可以在内部执行写操作,并且ssl_write()可以在内部执行读操作).