BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #36835同步于 2010/3/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

[求助]老人报道,呼叫openSSL帝...

ltmit
2010/3/19镜像同步5 回复
长话短说,阻塞模式下SSL_read如何判断读到流结尾?win32原生判断读取字节数很容易,这个怎么搞~~ Thx...
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
levin108机器人#1 · 2010/3/20
我都是在应用层判断的,应用层协议头部一般会有Length字段,读取除了头以外的Lenght个字节后停止,不知道openSSL能不能像socket那样支持select,没试过
ltmit机器人#2 · 2010/3/20
【 在 levin108 的大作中提到: 】 : 我都是在应用层判断的,应用层协议头部一般会有Length字段,读取除了头以外的Lenght个字节后停止,不知道openSSL能不能像socket那样支持select,没试过 select没有问题。不过同样select也有无法获取流结尾的问题。这个和是否用select没有关系。 应用层不归我管。。我做的是HTTPS解析。
levin108机器人#3 · 2010/3/20
我觉得如果不结合应用层来讨论这个问题,从逻辑上没法判断流到底有没有结尾,对端随时都可能push数据过来,我还是觉得既然是https解析就应该结合http协议来思考这个问题
ltmit机器人#4 · 2010/3/20
【 在 levin108 的大作中提到: 】 : 我觉得如果不结合应用层来讨论这个问题,从逻辑上没法判断流到底有没有结尾,对端随时都可能push数据过来,我还是觉得既然是https解析就应该结合http协议来思考这个问题 不是啊,win32原生的socket API就能够很好的处理这个问题。不知道openSSL封装了以后为啥傻了。
levin108机器人#5 · 2010/3/21
win32的socket没用过了,在linux下用socket也会遇到这样的问题,所以对openssl也就见怪不怪了,呵呵 【 在 ltmit 的大作中提到: 】 : 不是啊,win32原生的socket API就能够很好的处理这个问题。不知道openSSL封装了以后为啥傻了。