SocketIOException:客户端中出现意外的握手错误

Dam*_*mon 5 https dart

以下异常:

SocketIOException: Unexpected handshake error in client (OS Error: errno = -12268)
#0      _SecureFilterImpl.handshake (dart:io-patch:849:8)
#1      _SecureSocket._secureHandshake (dart:io:7382:28)
#2      _SecureSocket._secureConnectHandler._secureConnectHandler (dart:io:7294:21)
#3      _Socket._updateOutHandler.firstWriteHandler (dart:io-patch:773:64)
#4      _SocketBase._multiplex (dart:io-patch:408:26)
#5      _SocketBase._sendToEventHandler.<anonymous closure> (dart:io-patch:509:20)
#6      _ReceivePortImpl._handleMessage (dart:isolate-patch:37:92)
Run Code Online (Sandbox Code Playgroud)

以下代码的结果:

SocketIOException: Unexpected handshake error in client (OS Error: errno = -12268)
#0      _SecureFilterImpl.handshake (dart:io-patch:849:8)
#1      _SecureSocket._secureHandshake (dart:io:7382:28)
#2      _SecureSocket._secureConnectHandler._secureConnectHandler (dart:io:7294:21)
#3      _Socket._updateOutHandler.firstWriteHandler (dart:io-patch:773:64)
#4      _SocketBase._multiplex (dart:io-patch:408:26)
#5      _SocketBase._sendToEventHandler.<anonymous closure> (dart:io-patch:509:20)
#6      _ReceivePortImpl._handleMessage (dart:isolate-patch:37:92)
Run Code Online (Sandbox Code Playgroud)

请注意,如果我将 url 替换为“http”而不是“https”,它将按预期工作。

错误报告在这里。

Ale*_*uin 3

更新:请参阅William Hesse对于 Dart 版本 >= 1.12 的回答。


我也有同样的错误Dart SDK version 0.2.9.9_r16323。在第 7541 期中

在使用安全网络之前,需要显式初始化 SecureSocket 库。我们正在努力使其在您第一次使用时自动初始化,但这尚未提交。要仅使用默认根证书(众所周知的证书颁发机构),请SecureSocket.initialize() 在进行任何联网之前调用 main() 例程。

因此,通过SecureSocket.initialize()在代码之前添加,它可以按预期工作。

在r16384之后,这种显式初始化是可选的

SecureSocket.initialize()现在是可选的。如果你不调用它,就和你不带参数调用它一样。如果您显式调用它,则必须在创建任何安全连接之前执行一次。如果您正在创建服务器套接字,则需要显式调用它,因为它们需要证书数据库和密钥数据库的密码。

  • 他们刚刚解决了这个问题:更新:状态:修复了问题 7541 的评论 #7,作者:whesse@google.com:SocketIOException:客户端中出现意外的握手错误 http://code.google.com/p/dart/issues/detail?id =7541 SecureSocket.initialize() 现在是可选的。如果你不调用它,就和你不带参数调用它一样。如果您显式调用它,则必须在创建任何安全连接之前执行一次。如果您正在创建服务器套接字,则需要显式调用它,因为它们需要证书数据库和密钥数据库的密码。 (2认同)