2011-03-06 33 views

回答

7

我有一些成功获取多个监听器,下面的演示程序中的mywebdemo_sup.erl更改。我还没有做过比这更进一步的测试,但希望足以让你开始。

init([]) -> 
    Ip = case os:getenv("WEBMACHINE_IP") of false -> "0.0.0.0"; Any -> Any end, 
    {ok, Dispatch} = file:consult(filename:join(
        [filename:dirname(code:which(?MODULE)), 
        "..", "priv", "dispatch.conf"])), 
    WebConfig = [ 
     {name, one}, 
     {ip, Ip}, 
     {port, 8000}, 
     {log_dir, "priv/log"}, 
     {dispatch, Dispatch}], 
    Web = {one, 
     {webmachine_mochiweb, start, [WebConfig]}, 
     permanent, 5000, worker, dynamic}, 
    WebSSLConfig = [ 
      {name, two}, 
      {ip, Ip}, 
      {port, 8443}, 
      {ssl, true}, 
      {ssl_opts, [{certfile, "/tmp/api_server.crt"}, 
       {cacertfile,"tmp/api_server.ca.crt"}, 
       {keyfile, "/tmp/api_server.key"}]}, 
      {log_dir, "priv/log"}, 
      {dispatch, Dispatch}], 
    WebSSL = {two, 
      {webmachine_mochiweb, start, [WebSSLConfig]}, 
      permanent, 5000, worker, dynamic}, 
    Processes = [Web, WebSSL], 
    {ok, { {one_for_one, 10, 10}, Processes} }. 
+1

非常感谢你,我会试一试。 – noenzyme 2011-03-06 21:56:41

+1

工程就像一个魅力!谢谢。 – noenzyme 2011-03-06 22:58:31