单步执行程序正确,自己运行错误---ssl_connect错误

yyy6210 2010-06-27 02:12:38
第二次ssl_connect错误。

理想状态:
1:
先执行servier1(非正常),ssl_connect错误;
然后执行server2(正常),ssl_connect正确;
2:
先执行servier2(正常),ssl_connect正常

现在情况:
1:
先执行servier1(非正常),ssl_connect错误;
然后执行server2(正常),ssl_connect错误;但是手动单步执行,正确!

2:
先执行servier2(正常),ssl_connect正常
=============================

{
创建socket()
connect()
myssl = SSL_new(myctx);
SSL_set_fd(myssl, mysock);
SSL_connect()
}


有谁知道,可能什么原因?

...全文
485 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
davyzed 2012-04-16
  • 打赏
  • 举报
回复
我给的是非阻塞型socket,在connect之后,改成阻塞型,SSL_connect之后,改成非阻塞型。
我遇到的问题是,两个socket同时进行SSL_connect时,先进入的能成功,后进入的会失败,错误提示wrong version number。如果是关闭一个socket,再开启另一个,不会有这个问题。
crystalbug 2010-06-29
  • 打赏
  • 举报
回复
楼主啊,你不结贴,不给任何反应,该当何罪
crystalbug 2010-06-28
  • 打赏
  • 举报
回复
你只需要记住,这是openssl的硬性规定
你提供给openssl的套接字,不能是非阻塞型的套接字
yyy6210 2010-06-28
  • 打赏
  • 举报
回复
不太懂啊,ls能否讲清楚一点
crystalbug 2010-06-28
  • 打赏
  • 举报
回复
你是用openssl吧,openssl握手建立之前的套接字,不能为异步IO模式!
yyy6210 2010-06-27
  • 打赏
  • 举报
回复
单步调试执行,都没有问题!
yyy6210 2010-06-27
  • 打赏
  • 举报
回复
1楼回复的大家忽略掉!
yyy6210 2010-06-27
  • 打赏
  • 举报
回复
WSAEALREADY
10037
Operation already in progress.
An operation was attempted on a nonblocking socket with an operation already in progress—that is, calling connect a second time on a nonblocking socket that is already connecting, or canceling an asynchronous request (WSAAsyncGetXbyY) that has already been canceled or completed.

我查了一下,是这个错误,请问如何避免,怎么造成的,谢谢

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧