問題タブ [yaws]
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.
url - トルネードのようなURL解析をサポートし、ORM機能を備えていない軽量のerlangベースのサーバーはありますか?
私はYAWSを試してみましたが、誰かがその上にURLパーサー/リクエストハンドラーを既に作成していることを期待していました。ORMも含むChicagoBossに近いものは必要ありません。
私の質問が十分に明確でない場合は私に知らせてください。ありがとう。
erlang - yaws get クエリの解析
これはクラッシュしました
これとともに
しかし、get クエリに「id」が存在することは明らかです。なぜそれを解析できないのですか?
編集:
そしてクエリ: *.yaws?id=F1D79543E9E6583B
編集済み2:
誤解を招いて申し訳ありませんが、ブラウザに値を送信するための形式を使用しています。これは意図したエラーです。format の 2 番目の引数が「未定義」になる理由に興味があります。
erlang - yaws 応答で特定のヘッダーを変更する
yaws で http-header "Server: "値を (応答の構築中に) 動的に変更したいと思います。私は試した:-
1 つではなく2 つの "Server: "ヘッダーが返されました。しかし、それは他のすべてのヘッダーで機能しました。
erlang - プログラムがデータ構造を必要としなくなったときにデータ構造を破棄する--Erlang
ErlangTuplesで操作する特定の関数は、操作後に新しいタプルのコピーになります。ほとんどの場合、プログラムは、新しいタプルのコピーが作成された古いタプルのコピーには関心がありません。例を見てみましょう:
上記の例では、既存のタプルから新しいタプルを作成します。後でこれを行う場合は、古いコピーを自分で破棄したいと思います。コンパイラ/ランタイムシステムがこれを自動的に行うように感じますが、そうであれば、次のような関数は提供されませんでしたerlang:garbage_collect/0。暗黙的にメモリを管理する必要があるかもしれないことを彼らは理解していると確信しています。おそらく、プログラムがクラッシュするのを防ぎ、コードのメモリを大量に消費する部分を通り過ぎてしまうでしょう。
で、を使用して変数を忘れさせることができることを理解してerlang shellいます(変数を破棄することを意味していると想定しています)f/0, f/1。ただし、モジュール/関数でこれを使用できないようです。また、その変数名の前にアンダースコアを付けると、ランタイムシステムによる破棄が早まる可能性があることにも疑問があり_Tuple1ますTuple1
。要約すると、問題は、後で既存のタプルからタプルを作成し、各ステップで古いコピーをすぐに(自分で)破棄したい場合、どうすればよいですか? *注*効率ガイドではこれが禁止されていることを理解していますが、選択の余地がない場合は.....
みんな助けて、これに対するあなたの解決策は何ですか?ありがとう
http - この URL から値を取得するにはどうすればよいですか? クライアントに結果を返信する値で erlang モジュールを実行しますか?
http://www.myserver.com/exile?Key1=Value1&Key2=Value2
サーバーに対してこの形式のリクエストを受け取った場合、このリクエストをどのように処理すればよいですか? 私がしなければならないこと: すべての値を取得し、Erlang モジュールを実行し、結果をクライアントに送信する必要があります。追放は CGI ですか?もしそうなら、どうして .cgi 拡張子がないのでしょうか?
追加データ: サーバー (Linux サーバーを実行しているデスクトップ) に Yaws をセットアップしました。yaws.conf ファイルが構成されます。
windows - WindowsでYawsを起動すると、「initがdo_bootで終了します」というエラーメッセージが表示されます。
ErlangでWebアプリケーションを開発したいので、Windows7にYaws1.92をインストールしました。
しかし、両方yawsでYawsを起動しようとすると、次のyaws -iエラーメッセージが表示されます。
足りないものはありますか?どうすればこれを解決できますか?
Steveの提案の助けを借りて、Erlangランタイムが古すぎることに気づきました。R14BからR15Bにアップグレードしました。これでYawsが起動しますが、起動時にエラーが発生します。
なぜこれほど多くのエラーが発生するのかについての提案はありますか?そしてそれらを解決する方法は?
erlang - Yawsを使用してappmodでWebSocketメッセージを処理するには?
受信したメッセージと同じメッセージを送り返す単純なappmodを作成しました。しかし、コマンド プロンプトでエラー メッセージが表示され、WebSocket 接続が閉じられます。
3 文字のメッセージを送信すると、次のエラー メッセージが表示されます。
私は何を間違っていますか?ハンドルは を使用しており、どちらtextを使用しても機能しませんbinary。
ここに私の HTML+JavaScript クライアントがあります:
クライアントからの接続ws.yaws時に呼び出される私のものは次のようになります。
そして私のコールバックappmod mywebsocket.erlは次のようになります:
で、yaws.conf次のようにサーバーを構成しました。
Yaws 1.92とChrome 16を使用しています。
erlang - YawsのクライアントからWebSocketを閉じるにはどうすればよいですか?
WebSocketを処理し、メッセージをエコーバックする単純なappmodを実装しました。しかしws.close();、JavaScriptクライアントからをどのように処理しますか?以下のコードを試してみましたが、JavaScriptクライアントで呼び出されたり、実行されたりすることはありませんhandle_message({close, Reason})。ws.onclose = function(evt) {}
node.js WebSocketと対話する同じJavaScriptクライアントコードを使用すると、クライアントはのonclose直後にイベントを受け取りますws.close();。
これが私の単純なappmodのコードです:
internet-explorer - Yawsでコンテンツをストリーミングするにはどうすればよいですか?
Yaws:クライアントへのデータのストリーミングについて読みました。以下に示す簡単な例を作成しましたが、機能しません。エラーが発生し、プロセスが終了します。
これが私のyawsファイルです:
私も試してみましyaws_api:stream_chunk_deliver/2たが、同じエラーが発生しました。コマンドプロンプトに表示されるエラーメッセージは次のとおりです。
最後のチャンクはクライアントに送信されていないようです:
XDomainRequestを使用して使用するJavaScriptクライアントコード(IE8およびIE9でのみ機能)は次のとおりです。
JavaScriptクライアントでは、xdr.onerror = function()メソッドが呼び出されます。この例では、2kのプレリュードが必要なため、クライアントはデータを表示しないはずですが、私が理解しているように、データを送信する必要があります。
アップデート
Steve Vinoskiによって指摘されたErlangの問題を修正し\r\n、私のデータを削除した後、Yawsサーバーは正しいデータを送信します。しかしxdr.onerror = function()、JavaScriptクライアントでエラーが発生します。そして、 XDomainRequest ObjectAccess-Control-Allow-Origin: *に記載されているように、応答に別のヘッダーを追加する必要があるようです。
ドキュメントは、originの値を含むOriginヘッダーを送信することにより、ドメインのサーバーにデータを要求します。サーバーが*または要求元のドキュメントの正確なURLのいずれかのAccess-Control-Allow-Originヘッダーで応答した場合にのみ、接続が完了します。この動作は、XDomainRequestオブジェクトが統合されるクライアント側のクロスドメイン通信に関するWorld Wide Webコンソーシアム(W3C)のWebアプリケーションワーキンググループのドラフトフレームワークの一部です。
このヘッダーをHTTP応答に追加するにはどうすればよいですか?戻り値にMIMEタイプしか設定できないよう{streamcontent, MimeType, FirstChunk}です。