1

我正在编写一些通过 ssl 套接字发送数据的代码。发送部分位于 gen_server:call/3 中,如下所示:

handle_call({send, Data}, _From, #state{socket=Socket} = State) ->
    Reply = case ssl:send(Socket, Data) of
       ok ->
          ok;
       {error, Error} ->
          {error, Error}
    end,
    {reply, Reply, State}.

问题是,如果我在连接的另一端终止充当服务器的应用程序,则调用结果为“正常”,但未发送数据。这是否意味着在进程接收到 {ssl_closed, S} 之前,套接字被视为活动的?

4

1 回答 1

0

这是我的错误,数据实际上已发送但从未被对等方恢复。

于 2012-10-04T07:46:36.650 回答