Neko hxssl不适用于HTTPS

Neko hxssl不适用于HTTPS,ssl,haxe,neko,haxelib,Ssl,Haxe,Neko,Haxelib,我正在进行一个更大的项目重写,已经用neko编写了相当大的代码库。该项目的一个方面是一个数据刮板,它(在高峰时间)将有100多个连接打开到WebSockets服务器。最初,这是使用WebSockets npm包在运行大量nodejs进程的情况下完成的。问题是这有点不可靠,并且会大大降低运行这些进程的机器的速度。我希望通过在单个neko进程中运行线程来解决这个问题 但是,我遇到了一个我没有预料到的问题——haxe中对SSL/TLS的非常笨拙的支持(或缺乏支持)。据我所知,唯一可用的原生OpenSS

我正在进行一个更大的项目重写,已经用neko编写了相当大的代码库。该项目的一个方面是一个数据刮板,它(在高峰时间)将有100多个连接打开到WebSockets服务器。最初,这是使用WebSockets npm包在运行大量nodejs进程的情况下完成的。问题是这有点不可靠,并且会大大降低运行这些进程的机器的速度。我希望通过在单个neko进程中运行线程来解决这个问题

但是,我遇到了一个我没有预料到的问题——haxe中对SSL/TLS的非常笨拙的支持(或缺乏支持)。据我所知,唯一可用的原生OpenSSL包装器是
hxssl
haxelib。我安装了它,但它仍然不能与WebSockets一起工作,因此我将问题追溯到一个更简单的情况——只有一个HTTPS连接,如下所示:

import haxe.Http;

class Main {
    public static function main(){
        var http = new Http("https://www.facebook.com/");
        http.certFolder = 'certs';
        http.certFile = 'certs/ca-certificates.crt';

        http.setHeader("Accept", "text/html,application/xhtml+xml,application/xml");
        http.setHeader("Accept-Language", "en-US");
        http.setHeader("Cache-Control", "max-age=0");
        http.setHeader("Connection", "close");
        http.setHeader("DNT", "1");
        http.setHeader("Upgrade-Insecure-Requests", "1");
        http.setHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");

        http.onData = function(data:String){
            Sys.println("Data: " + data.substr(0, 50) + " ...");
        }
        http.onError = function(msg:String){
            Sys.println("Error: " + msg);
        }
        http.onStatus = function(status:Int){
            Sys.println("Status: " + status);
        }
        http.request(false);
    }
}
问题在于,有时这种方法的输出只是:

Status: 200
Error: Custom((1) : An unknown error has occurred.)
最糟糕的是这种情况发生的随机性。有时它会连续发生多次,即使我没有重建项目。我现在正在OSX机器上运行这个

certs
文件夹中充满了从最新Ubuntu服务器上的certs复制的证书。我尝试过不使用
certFolder
certFile
行,但结果基本相同


你知道这是什么原因吗?编写一个更好的OpenSSL包装器/本机实现可能是不可能的,我有点时间紧迫。我尝试了上面的cpp构建,但在Sockets代码中失败得很惨,我也不确定我是否想走这条路。

也许你可以在即将发布的3.3版本中尝试RC,它内置了对SSL/TLS的Neko/Hxcpp支持

即将推出的Haxe 3.3的RC应该内置对SSL/TLS的neko/cpp支持。也许你可以看看它是否表现得更好。@jonasmalacofilho谢谢!现在似乎是可靠的,而且没有
hxssl
。真的应该考虑更新。将您的评论作为答案发布,以便我可以接受?