2017-08-09 94 views
2

我有一個ssl服務器,我想在接收到第一個ssl:recv到原始gen_tcp後降級。假設這可以用來做到這一點,我找不到如何使用它的例子。而且我不是那麼擅長使用Erlang的文件尚未http://erlang.org/doc/man/ssl.html#close-2如何使用Erlang的SSL:關閉/ 2

我有點糊塗了上NewController :: PID()

如何=超時()| {NewController :: pid(),timeout()}

謝謝你的幫忙!

回答

0

NewController::pid()這裏指的是您要設置爲降級TCP套接字的「控制進程」的進程。 gen_tcp套接字上的函數只有在從該進程調用時纔有效。除非您想使用來自其他進程的降級TCP套接字,否則您需要在此處發送self()

我能找到的ssl:close/2與元組一起用作第二個參數的唯一例子是this test。下面是該代碼的簡化版本,以幫助您入門:

% Assuming `SSLSocket` is the SSL socket. 
{ok, TCPSocket} = ssl:close(SSLSocket, {self(), 10000}), 
% You can use `TCPSocket` with `gen_tcp` now. 
gen_tcp:send(TCPSocket, "foo"), 
+0

我收到一個錯誤,當我這樣做時發生超時。 「在後一種情況下,接收到來自對端的TLS關閉警報後,傳輸連接將切換到NewController進程。」 - 同行(客戶)是否需要發送特別的東西? – Mike5050