2016-02-07 41 views
5

Scrivo questo semplice codice con ssltcp:modalità {attiva, N} in Erlang tcp sicuro

ssl:start(). 
{ok, ListenSocket} = ssl:listen(9999, [{certfile, "cert.pem"}, {keyfile, "key.pem"},{reuseaddr, true}]). 
{ok, Socket} = ssl:transport_accept(ListenSocket). 
ssl:ssl_accept(Socket). 
ssl:setopts(Socket, [{active, once}]). 

funziona bene, ma quando i sostituire {active, once} con {active, 3}, restituisce questo errore:

{error,{options,{socket_options,{active,3}}}}

Come può utilizzare la modalità {active, N} in tcp sicuro?

risposta

6

La modalità {active,N} non è implementata per le connessioni SSL. Ho originariamente scritto la modalità {active,N} e quando ho cercato di implementarlo per SSL, ho scoperto che il modo in cui i socket SSL Erlang sono implementati nella parte superiore dei socket TCP sottostanti comporta modifiche su questi socket tra modalità attive e passive come parte dell'implementazione del protocollo e quindi l'implementazione di {active,N} per SSL non consiste semplicemente nell'aprire un socket sottostante in quella modalità.