Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 使用CRLF json协议连接ssl套接字时出错_Sockets_Erlang_Elixir - Fatal编程技术网

Sockets 使用CRLF json协议连接ssl套接字时出错

Sockets 使用CRLF json协议连接ssl套接字时出错,sockets,erlang,elixir,Sockets,Erlang,Elixir,我正在尝试使用连接到套接字(ssl) 但我面临着这个错误: ** (MatchError) no match of right hand side value: {:http_error, "{\"op\":\"connection\",\"connectionId\":\"203-270420013200-944388\"}\r\n"} (socket 0.3.13) lib/socket/web.ex:251: Socket.Web.connect!/3 但这不是一个错误。服务器接

我正在尝试使用连接到套接字(ssl)

但我面临着这个错误:

** (MatchError) no match of right hand side value: {:http_error, "{\"op\":\"connection\",\"connectionId\":\"203-270420013200-944388\"}\r\n"}
    (socket 0.3.13) lib/socket/web.ex:251: Socket.Web.connect!/3

但这不是一个错误。服务器接受我的连接,但elixir套接字返回错误。有什么问题吗?

发生了问题中的错误,意思是
Socket.Stream.recv/2
返回了一些出乎意料的结果

它是连接到Socket.Stream.Protocol的

根据您是否使用
ssl
,它来自或来自

这座图书馆既古老又严格。我所能想到的唯一进一步的方法是分叉,检查您希望正确的响应,修改
Socket.Stream.recv/2
以满足您的要求:

响应=
case Socket.Stream.recv!(客户,全球)做什么
{:http\u响应,{,101,}->:好的
{:http\u错误,\u json}->:确定
_->:错误
终止

并据此处理。为什么您的服务器以如此奇怪的方式响应超出了本文的范围。

我不知道在这种情况下“对我有效”应该是什么意思。我只想连接,但我测试的所有LIB连接都不是问题。
:ssl.recv
返回
{ok,{http\u error,{\'op\\:“connection\”,“connectionId\:“204-280420165409-1131618\}\r\n}
我在上面的回答中指出了问题所在。您正在查看非碰撞版本,碰撞版本将返回
{:ok,}
元组中的值。服务器的响应类似于
{:ok,{:http\u error,json}}
,但是是什么导致了
http\u error
?里面有一个“成功”的消息。
** (MatchError) no match of right hand side value: {:http_error, "{\"op\":\"connection\",\"connectionId\":\"203-270420013200-944388\"}\r\n"}
    (socket 0.3.13) lib/socket/web.ex:251: Socket.Web.connect!/3