⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.htm

📁 利用openssl的代码mini ca 实现证书的办法与管理
💻 HTM
📖 第 1 页 / 共 3 页
字号:
mso-char-indent-size:10.5pt'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>程序是在一个电子钥匙管理程序的基础上作的,原来电子钥匙的部分还保留着,需要电子钥匙的支持。</span></p>

<p class=MsoNormal style='text-indent:21.0pt;mso-char-indent-count:2.0;
mso-char-indent-size:10.5pt'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>代码较多,笔者只介绍认为重要的三点。</span></p>

<p class=MsoNormal style='text-indent:21.0pt;mso-char-indent-count:2.0;
mso-char-indent-size:10.5pt'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>程序要点:</span></p>

<p class=MsoNormal style='text-indent:21.1pt;mso-char-indent-count:2.0;
mso-char-indent-size:10.55pt'><b><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>(</span><span
lang=EN-US>1</span></b><b><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>)</span></b><span
lang=EN-US>RA</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>客户端与服务器程序采用了</span><span lang=EN-US>ACCESS</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>数据库,</span><span lang=EN-US>SSL</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>连接、非阻塞套接字,基本原理是客户端发送命令请求,服务器查询数据库,然后查询结果发给客户端。非阻塞套接字是很灵活的,运用不当会事倍功半,这个程序而言:</span><span
lang=EN-US>AsyncSelect</span><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>函数是个关键。</span></p>

<p class=MsoNormal><span style='mso-bidi-font-size:10.0pt;font-family:宋体;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>林军鼐的</span><span
lang=EN-US>Winsock</span><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>编程宝典中这样写道:</span></p>

<p class=MsoNormal><span style='mso-bidi-font-size:10.5pt;font-family:宋体;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>【</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'>FD_WRITE </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>事件】</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'> <br>
</span><span style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>系统会通知我们</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'> FD_WRITE </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>事件的讯息,只有下列几种情况:</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'> <br>
</span><span style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>(</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'>1</span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>)呼叫</span><span lang=EN-US style='mso-bidi-font-size:10.5pt'>
WSAAsyncSelect() </span><span style='mso-bidi-font-size:10.5pt;font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>来设定</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'> FD_WRITE </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>事件时,</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'>Socket </span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>已经可以传送资料(</span><span lang=EN-US style='mso-bidi-font-size:
10.5pt'>TCP scoket </span><span style='mso-bidi-font-size:10.5pt;font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>已经和对方连接成功了,或</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'> UDP socket </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>已建立完成),且目前</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'> output buffer </span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>仍有空间可写入资料。</span><span lang=EN-US style='mso-bidi-font-size:
10.5pt'><o:p></o:p></span></p>

<p class=MsoNormal><span style='mso-bidi-font-size:10.5pt;font-family:宋体;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>(</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'>2</span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>)呼叫</span><span lang=EN-US style='mso-bidi-font-size:10.5pt'>
WSAAsyncSelect() </span><span style='mso-bidi-font-size:10.5pt;font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>来设定</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'> FD_WRITE </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>事件时,</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'>Socket </span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>尚不能传送资料,不过一旦</span><span lang=EN-US style='mso-bidi-font-size:
10.5pt'> Socket </span><span style='mso-bidi-font-size:10.5pt;font-family:宋体;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>与对方连接成功,马上就会收到</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'> FD_WRITE </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>的通知。</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'> <br>
</span><span style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>(</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'>3</span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>)呼叫</span><span lang=EN-US style='mso-bidi-font-size:10.5pt'>
send() </span><span style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>或</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'> sendto() </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>传送资料时,系统告知错误,且错误码为</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'>10035 WSAEWOULDBLOCK </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>(呼叫</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'> WSAGetLastError() </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>得知这项错误),这时表示</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'> output buffer </span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>已经满了,无法再写入任何资料(此时即令呼叫再多次的</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'> send() </span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>也都一定失败);一旦系统将部份资料成功送抵对方,空出</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'> output buffer </span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>後,便会送一个</span><span lang=EN-US style='mso-bidi-font-size:
10.5pt'> FD_WRITE </span><span style='mso-bidi-font-size:10.5pt;font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>给使用者,告知可继续传送资料了。换句话说,读者在呼叫</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'> send() </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>传送资料时,只要不是返回错误</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'> 10035 </span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>的话,便可一直继续呼叫</span><span lang=EN-US style='mso-bidi-font-size:
10.5pt'> send() </span><span style='mso-bidi-font-size:10.5pt;font-family:宋体;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>来传送资料;一旦</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'> send() </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>回返错误</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'> 10035</span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>,那麽便不要再呼叫</span><span lang=EN-US style='mso-bidi-font-size:
10.5pt'> send() </span><span style='mso-bidi-font-size:10.5pt;font-family:宋体;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>传送资料,而须等收到</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'> FD_WRITE </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>後,再继续传送资料。</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'><o:p></o:p></span></p>

<p class=MsoNormal><span style='mso-bidi-font-size:10.5pt;font-family:宋体;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>【</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'>FD_READ </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>事件】</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'> <br>
</span><span style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>我们会收到</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'> FD_READ </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>事件通知我们去读取资料的情况有</span><span
style='mso-bidi-font-size:10.5pt'> </span><span style='mso-bidi-font-size:10.5pt;
font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:</span><span lang=EN-US style='mso-bidi-font-size:10.5pt'> <br>
</span><span style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>(</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'>1</span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>)呼叫</span><span lang=EN-US style='mso-bidi-font-size:10.5pt'>
WSAAsyncSelect </span><span style='mso-bidi-font-size:10.5pt;font-family:宋体;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>函式来对此</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'> Socket </span><span
style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>设定</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'> FD_READ </span><span style='mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>事件时,</span><span lang=EN-US style='mso-bidi-font-size:10.5pt'>input

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -