質問
た時の起動機能のerlシェードを動作させることができます。ろうとした際に、呼び出しと同じ機能erl...sモジュール機能が失敗します。
にコードが失敗したのは:
start(Port) ->
mochiweb_http:start([{port, Port}, {loop, fun dispatch_requests/1}]).
私はより効果的にポートを設定します。私のエラーメッセージ:
=CRASH REPORT==== 17-Jan-2010::00:21:09 ===
crasher:
initial call: mochiweb_socket_server:acceptor_loop/1
pid: <0.65.0>
registered_name: []
exception exit: {error,closed}
in function mochiweb_socket_server:acceptor_loop/1
ancestors: [mochiweb_http,<0.1.0>]
messages: []
links: []
dictionary: []
trap_exit: false
status: running
heap_size: 377
stack_size: 24
reductions: 93
neighbours:
また、デバッガやすいステップを通してまでの上記コードです。合格後に、ちょっとこのクラッシュ報告する。
のお役に立てるようですぞよろしくお願い申し上げます。
解決
フム、私はそれが動作するはずだと思います。 同じコンパイラのバージョンでコンパイルされたすべてのモジュールがありますか? IIRCそこにソケットレベルで奇妙なエラーになる場合はない可能性があります。 ところで、あなたは-sのデフォルトである、あなたのエントリポイント関数の開始を呼ぶかもしれない。
他のヒント
また、あなたが-eval
オプションを試すことができます:
erl -eval 'module:start(9090).'
-sを使用している場合、
、引数はリストに収集され、そのポートが実際にリストに囲まれることになります。あなたは(start([Port])
のような)ラッパー関数で両方の例(リストまたはint)を確認することができます。
ご利用の際は-s走Gettextの機能を引数に入れてのリスト 原子.ご利用の際は走行Gettextの機能を引数に入れてのリスト 文字列.
を必要とする場合 整数 値を、必要なのは、適切な換。したい場合はカバーのすべての場合には、このようになったヘルプ
start([Port]) when is_atom(Port) ->
start([atom_to_list(Port)]);
start([Port]) when is_list(Port) ->
start(list_to_integer(Port));
start(Port) when is_integer(Port) ->
mochiweb_http:start([{port, Port}, {loop, fun dispatch_requests/1}]).
Manページ erl ("erl-男erl")。
所属していません StackOverflow