問題タブ [mochiweb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
603 参照

process - Erlang/Mochiweb の初心者向けの質問: クライアントとのコミュニケーション

クライアント/ブラウザが Mochiweb サーバーに接続するたびに、Loop の新しいプロセスが作成されますね。したがって、あるクライアントから別のクライアント (典型的なチャット システム) にメッセージを転送したい場合、Loop の self() を使用して、接続されているすべてのクライアントの PID を保存する必要があります。

これまでのところ何か (またはすべて) が間違っている場合は、システムがどのように機能するかを簡単に説明してください。サーバー プロセスはどこにあり、クライアント プロセスはどこにありますか?

PID を使用してクライアントのループ プロセスにメッセージを送信する方法は? 「受信」をループのどこに置くかということですか?

0 投票する
1 に答える
303 参照

erlang - HTTP サービスに関する Erlang 設計アドバイス

私は Erlang を初めて使用しますが、私が持っている同時実行の要求により、この技術に適用できると思われるアプリケーションから始めたいと思っています。

この写真は、私がやりたいことを強調しています。

http://imagebin.org/163917

メッセージがキューからプルされ、ユーザーが Django アプリのフォームに何らかの入力を行った結果として以前にセットアップされたワーカー プロセスにルーティングされる場所。セットアップには追加のデータベース (既存のデータベースなので、このビットには ETS/DETS を使用したくない) ルックアップが必要であり、メッセージ ルーターと通信して関連するプロセスを作成します。

私の問題は、将来、セットアップが必要なすべてのワーカーを Django アプリに問い合わせて、最初にタスクを実行することを希望する可能性があることを考えると、ここで通信するための最良の方法は何ですか。私は HTTP/json を好み、Mochiweb と MochiJson で見つけられるものを少し読んだことがあります。OTP スーパーバイザとアプリケーションを用意する予定でしたが、erlang メッセージをルーターに渡す別の mochiweb プロセスを用意するのは賢明でしょうか?

スクリプトを使用してディレクトリ構造を作成する方法について説明しているすべてのチュートリアルが原因で、mochiweb に少し苦労しました。これは、mochiweb 中心のデザインになっているようです。これは望ましくありません。軽量の mochiweb プロセスが必要です。それは時折の仕事をします。

これをバラバラにしてください。すべてのコメントを歓迎します。

乾杯

デイブ

0 投票する
1 に答える
219 参照

erlang - 窒素リッスンIPアドレスについて混乱

Windows 7 Home Premium、HP PavilionEntertainmentPCラップトップでNitrogen2.0.Xを実行しています。窒素はinetsで始まり、WebサーバーのIPアドレスを変更または指示できませんでした。起動すると、ブラウザに移動して、http://localhost:8000以下のシェル出力を押すように指示されます。

利用可能なほとんどすべてのブラウザでリンクを押すと、ページが見つからなかったことがわかります。エミュレーターにポートについて尋ねると、これがその出力です。

whileinet6_tcpを使用するということを意味する強い考えを持っていますが、これについてはよくわかりません。しかし、全体として、私は自分の窒素に接続できません。以下は実行中のアプリケーションですIPv6inet_tcpIPv4

http://localhost:8000上記の観察結果を踏まえて、ブラウザを押すだけではローカル窒素フレームワークに到達できない理由を誰かが説明できますか?また、ブラウザから接続するにはどうすればよいですか?

0 投票する
2 に答える
1537 参照

javascript - 1.0.1 から更新した後の Couchdb 1.1.0 での function_clause エラー

Couchdb 1.0.1 から更新した後、Couchdb 1.1.0 でドキュメントを更新するとエラーが発生します。応答は次のようになります。

1.0.1 を使用していたときはすべて問題ありませんでした。1.0.0 から 1.1.0 への更新に関する「重大な変更」セクションに何かがあります。

ドキュメント ID は、PUT 中に検証されるようになりました。これは、以前は成功していた一部の PUT 要求が失敗することを意味します。

しかし、私の場合、それが何を意味するのかわかりません。

0 投票する
1 に答える
275 参照

http - mochiweb の非 http

クライアントが単純な文字列を送信するTCP接続も取得する可能性のあるサーバーにmochiwebを使用しています(改行なし、文字列はhttpではありません)。Mochiweb は HTTP ソケットを使用するため、これを検出できません ( http_errormochiweb で簡単に取得できることさえわかりません)。どうすればこれを解決できますか? 理想的にはmochiwebのコードを変更したいのですsetopt({packet, http_or_raw})が、そのようなことはありません。これをどのように処理することをお勧めしますか? 私の現在のアイデアは、mochiweb を変更して使用することでしerlang:decode_packetた。より良いアプローチはありますか?

編集:

より詳しい情報。私たちのサーバーは websocket サービスです。ws をサポートするブラウザーを使用していないユーザーが使用できるようにしたいので、ブラウザーが使用できない場合に websocket を実行するために flash オブジェクトを使用します。フラッシュ オブジェクトは、フラッシュ ポリシー ファイルを取得する必要があります。Flash は、ファイルを次の 2 つの場所のいずれかに配置するように強制します。 - ポート 843 (ハード コードされたフラッシュ) - ws サービスのポート フラッシュ プロトコルは HTTP ベースではありません。Amazon ELB では 1024 未満のほとんどのポートのポート転送が許可されていないため、mochiweb (https://github.com/nivertech/mochiweb/tree/ori_flash_170811) へのパッチを介して同じポートにフラッシュ サーバーを実装しました。

何かアドバイス?

0 投票する
1 に答える
346 参照

erlang - mochiweb で自動ログアウト時間を設定するにはどうすればよいですか?

mochiweb のソース コードを見ていると、Cookie の有効期限をテストする数値が、継承したサーバーの動作とはまったく似ていません。mochiweb のソースには 111 と 86417 (1 日 + 17 秒) がありますが、Cookie の有効期限とそれをテスト コードで実行するだけのようです。(mochiweb_cookies.erl参照)

私が見ているサーバーは、約 10 ~ 15 分でユーザーをタイムアウトにしていますが、Cookie の値を設定しているコードはどこにも見当たりません。それを設定します。

何か案は?

0 投票する
2 に答える
190 参照

erlang - プログラムがデータ構造を必要としなくなったときにデータ構造を破棄する--Erlang

ErlangTuplesで操作する特定の関数は、操作後に新しいタプルのコピーになります。ほとんどの場合、プログラムは、新しいタプルのコピーが作成された古いタプルのコピーには関心がありません。例を見てみましょう:

上記の例では、既存のタプルから新しいタプルを作成します。後でこれを行う場合は、古いコピーを自分で破棄したいと思います。コンパイラ/ランタイムシステムがこれを自動的に行うように感じますが、そうであれば、次のような関数は提供されませんでしたerlang:garbage_collect/0。暗黙的にメモリを管理する必要があるかもしれないことを彼らは理解していると確信しています。おそらく、プログラムがクラッシュするのを防ぎ、コードのメモリを大量に消費する部分を通り過ぎてしまうでしょう。

で、を使用して変数を忘れさせることができることを理解してerlang shellいます(変数を破棄することを意味していると想定しています)f/0, f/1。ただし、モジュール/関数でこれを使用できないようです。また、その変数名の前にアンダースコアを付けると、ランタイムシステムによる破棄が早まる可能性があることにも疑問があり_Tuple1ますTuple1

。要約すると、問題は、後で既存のタプルからタプルを作成し、各ステップで古いコピーをすぐに(自分で)破棄したい場合、どうすればよいですか? *注*効率ガイドではこれが禁止されていることを理解していますが、選択の余地がない場合は.....

みんな助けて、これに対するあなたの解決策は何ですか?ありがとう

0 投票する
3 に答える
1911 参照

heroku - XForwarded https プレイに対応!Heroku でのサポートの失敗

Heroku にアプリをデプロイし、受信したリクエストが安全かどうかを判断しようとしています (request.secure)。nginx が SSL 作業を処理し、平文の http を介してアプリケーション サーバーと通信するため、heroku では最初は false が返されます。したがって、それが安全なリクエストであることを知らせるヘッダーを play に読み取らせるには、次のように追加します。

XForwardedSupport=127.0.0.1

プレイ掲示板で推奨されているように application.conf に。ただし、すべてのリクエスト (画像を除く) はエラーなしで失敗します。プレイログに出る前に何か根本的なことが起きているようです。誰もこれを経験しましたか?

0 投票する
1 に答える
818 参照

openssl - CouchDB/MochiWeb SSL エラー

しばらくの間、自己署名証明書を使用してCouchDB 1.1.1を使用しました。

次に、ドメイン用の SSL 証明書 (PFX 形式) を購入しました。

ここで説明されているように、OpenSSL 経由で .CER と .KEY に変換しました: How can I convert a PFX certificate file for use with Apache on a Linux server?

しかし、CouchDB では次のエラーが表示されます: http://pastebin.com/PieNwYv7

http://wiki.apache.org/couchdb/How_to_enable_SSLで推奨されているテストでは、証明書とキーが正常に機能します

OpenSSLでさまざまな変換オプション(der、pemなど)を試しましたが、うまくいきませんでした:(

証明書または秘密鍵のどこが間違っている可能性がありますか? (ここで秘密鍵を明らかに公開することはできませんが、問題を診断するためのツールをいくつか教えていただけないでしょうか)

UPD:試した

openssl rsa -in server.key -out server_rsa.key

これにより、キーは -----BEGIN RSA PRIVATE KEY の形式で与えられ (-----BEGIN PRIVATE KEY の代わりに)、OpenSSL でも問題なく動作します (でテスト済みopenssl s_server -key server_rsa.key -cert server.cer -www)。CouchDB は別のエラーを返します:

p>

UPD2: (IIS の代わりに) Firefox からキー ジェネレーターを使用して、別の証明書を取得しました。ここでも同じです :(

0 投票する
1 に答える
157 参照

erlang - mochiweb は m3u8 ストリームを再生できますか?

lighttpd を使用して http ライブ ストリームを再生していますが、うまく機能します。mochiwebを使って高パフォーマンスでプレイしたいのですが、可能ですか?