<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style id="ms-outlook-ios-style" type="text/css">html {
background-color: transparent !important;
}

body {
background-color: transparent !important;
color: #333;
line-height: 150%;
font-family: "-apple-system", "HelveticaNeue";
margin: 0;
}

*:focus {
outline: none;
}

.ms-outlook-ios-reference-expand {
display: block;
color: #999;
padding: 20px 0px;
text-decoration: none;
}

.ms-outlook-ios-availability-container {
max-width: 500px;
margin: auto;
padding: 12px 15px 15px 15px;
border: 1px solid #C7E0F4;
border-radius: 4px;
}

.ms-outlook-ios-availability-container > .ms-outlook-ios-availability-delete-button {
width: 25px;
height: 25px;
right: -12px;
top: -12px;
background-image: url("data:image/png;base64,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");
background-size: 25px 25px;
background-position: center;
}

#ms-outlook-ios-main-container {
margin: 0 0 0 0;
margin-top: 120;
padding: 8;
}

#ms-outlook-ios-content-container {
padding: 0;
padding-top: 12;
padding-bottom: 20;
}

.ms-outlook-ios-mention {
color: #333;
background-color: #f1f1f1;
border-radius: 4px;
padding: 0 2px 0 2px;
pointer-events: none;
text-decoration: none;
}

.ms-outlook-ios-mention-external {
color: #ba8f0d;
background-color: #fdf7e7;
}

.ms-outlook-ios-mention-external-clear-design {
color: #ba8f0d;
background-color: #f1f1f1;
}</style><style id="ms-outlook-ios-dark-mode-style" type="text/css">.ms-outlook-ios-dark-mode {
color: #E1E1E1 !important;
}

.ms-outlook-ios-dark-mode .ms-outlook-ios-reference-expand {
color: #777777 !important;
}

.ms-outlook-ios-dark-mode a:not([class]) {
color: #0086F0;
}

.ms-outlook-ios-dark-mode font[color="#000000"] {
color: #E1E1E1 !important;
}

.ms-outlook-ios-dark-mode .ms-outlook-ios-availability-container {
border-color: #303030 !important;
}

.ms-outlook-ios-dark-mode .ms-outlook-ios-availability-container > table > tbody > tr > td:nth-child(1) > table:nth-child(1) > tbody > tr:nth-child(1) > td:nth-child(2) {
color: #0086F0;
}

.ms-outlook-ios-dark-mode .ms-outlook-ios-availability-container .ms-outlook-ios-availability-timeslot-container {
background-color: #0086F0 !important;
color: #000000 !important;
}

.ms-outlook-ios-dark-mode .ms-outlook-ios-availability-container .ms-outlook-ios-availability-border {
border-top: 1px solid #0086F0 !important;
}

.ms-outlook-ios-dark-mode .ms-outlook-ios-availability-container > .ms-outlook-ios-availability-delete-button {
background-image: url("data:image/png;base64,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") !important;
}

.ms-outlook-ios-dark-mode .ms-outlook-ios-availability-container > table > tbody > tr > td:nth-child(1) > table:nth-child(4) > tbody > tr:nth-child(2) > td > a {
color: #0086F0 !important;
}

.ms-outlook-ios-dark-mode .ms-outlook-ios-mention {
color: #ACACAC !important;
background-color: #292929 !important;
}</style>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
</head>
<body style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">
<div style="direction: ltr;">
<div>
<div></div>
</div>
<div style="direction: ltr;">You do not say what OS you are running on. Solaris 11 has a known problem with not reporting queued data. This was fixed by SRU-28.</div>
<div><br>
</div>
<div style="direction: ltr;">Regards,</div>
<div style="direction: ltr;">John Unsworth </div>
</div>
<div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="dir="ltr""><font face="Calibri, sans-serif" style="font-size:11pt"><b>From:</b> openssl-users <openssl-users-bounces@openssl.org> on behalf of Â·Á¬·å <llf@e-code.net><br>
<b>Sent:</b> Monday, September 23, 2019 4:55 am<br>
<b>To:</b> openssl-users<br>
<b>Subject:</b> My client can not receive data in blocking mode<br>
</font></div>
<br>
<div>
<div class="__aliyun_email_body_block">
<div style="clear:both">
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
Hello</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
 </div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
I'm using openssl as client in blocking mode , i have a problem .</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
Sometimes my program can't  receive data , and acctually server has been sent the data to me.</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
I can only  receive the data by sending another request . Then the data i expected arrived with a new data sent by server .</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
<br>
</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
------------------------------------------------------------------------------</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
bool can_read()</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px">{</div>
</div>
</div>
<div style="clear:both">
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px">      if(SSL_pending(m_ssl))</div>
</div>
</div>
<div style="clear:both">
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px">            return true;<br>
</div>
</div>
</div>
<div style="clear:both">
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px"></div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; text-indent:2.0em">
struct timeval tv = {0 , 100};</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px">       FD_ZERO(&m_rfds);</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px">       FD_SET(m_socket.fd(), &m_rfds);</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; text-indent:2.0em">
int ret = select( m_socket.fd()+1, &m_rfds , NULL, NULL, &tv);</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; text-indent:2.0em">
return ret > 0 ;</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px">}</div>
</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
 </div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
//this is the main process</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
int try_receive(char * buf , int len )</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
{</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial; text-indent:2.0em">
if( !can_read())</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial; text-indent:4.0em">
return -1;</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial; text-indent:4.0em">
 </div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial; text-indent:2.0em">
return SSL_read(m_ssl, buf, len);</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
}</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
-------------------------------------------------------------------------------</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
 Above is my code ,  my program get `false` from `can_read` although the server has sent response data</div>
<div style="margin:.0px; padding:.0px; border:.0px; outline:.0px; color:#000000; font-family:΢ÈíÑźÚ; font-size:14.0px; font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:400; text-align:start; text-indent:.0px; text-transform:none; widows:2; text-decoration-style:initial; text-decoration-color:initial">
 I really appreciate your help.</div>
<span style="font-family:Tahoma,Arial,STHeiti,SimSun; font-size:14.0px; color:#000000"><br>
</span></div>
</div>
</div>
</div>
</body>
</html>