2017-08-09 4 views
2

私はsslサーバを持っています。最初のssl:recvをraw gen_tcpに受信した後、これをダウングレードしたいと思います。これを使用してこれを行うことができると仮定して、私はこれをどのように使用するかの例を見つけることはできません。そして私は、私はNewControllerに少し混乱しています Erlang sslの使い方:close/2

http://erlang.org/doc/man/ssl.html#close-2まだErlangのドキュメントを使用してのあまり良くないです:: PID()

方法=タイムアウト()| {NewController :: pid()、timeout()}

ありがとうございました!

答えて

0

NewController::pid()ここでは、ダウングレードされたTCPソケットの「制御プロセス」として設定するプロセスを指します。 gen_tcpソケット上の関数は、そのプロセスから呼び出された場合にのみ機能します。別のプロセスからダウングレードしたTCPソケットを使用しない場合は、ここにself()を送信します。

ssl:close/2の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

関連する問題