問題タブ [luasocket]

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 に答える
2720 参照

ftp - LuaSocket FTP が常にタイムアウトする

LuaSocketの TCP 機能には成功しましたが、その FTP モジュールに問題があります。(小さい) ファイルを取得しようとすると、常にタイムアウトが発生します。パッシブ モード (Ubuntu Dapper Linux) で Firefox または ftp を使用して、ファイルを問題なくダウンロードできます。

パッシブ FTP を使用するには LuaSocket が必要なのかもしれないと思ったのですが、デフォルトでそうしているように見えることがわかりました。FTP 経由で取得しようとしているファイルは、私のマシンの他のプログラムからパッシブ FTP でアクセスできますが、アクティブ モードではアクセスできません。LuaSocket へのパッシブ モード サポートの「ハッキング」についての話がいくつか見つかりました。その議論は、後のバージョンではパッシブ モードの使用を停止したことを暗示していますが、私のバージョンではとにかくパッシブを使用しているようです (私は 2.0.1 を使用しています。最新のものは 2.0.2 であり、私のユースケースに関連する変更はないようです)。その投稿が私の状況にどのように関連するかについて少し混乱しています。これは、一部には非常に古く、LuaSocket のソースがその議論のコードとほとんど似ていないためです)。

コードを次のように要約しました。

これにより、タイムアウトが発生します。Linuxで実行しました ( Solarisstraceと同じ)。ptraceここに要約されたトランスクリプトがあります:

接続しようとした別のサイトがありますが、ここに投稿できないパスワードがありますが、その場合、結果はわずかに異なりました...上記のようなトレースが得られましたがselect()、最後に成功すると、次のようになります。

これを、パッシブ モードでの私の「ftp」プログラムのトレースと比較してください (これは正常に動作しますが、LuaSocket のようにソケットを非ブロックに設定しないことに注意してください)。

そのため、これら 2 つの異なる FTP サイトに対して LuaSocket を試してみましたが、異なるが同様の失敗がありました。アクティブな FTP が動作する別のマシンからも試してみましたが、うまくいきませんでした (おそらく、LuaSocket は常にパッシブ モードを使用しているためですsocket/ftp.lua

では、LuaSocket の 2 ライナーを一番上の作業にできる人はいますか? 私のマシンでは、Dell のサイトへのアクティブな FTP が機能しないことに注意してください (接続できますが、接続するとすぐlsに切断されます)。LuaSocket を機能させる場合は、別のプログラムから Dell のサイトへのアクティブな FTP が機能するかどうかにも注意してください。あなたのマシン。

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

sockets - oslib や debuglib のように、ソケットを Lua 内部に埋め込むにはどうすればよいですか?

Lua ビルドにソケット関数を埋め込むような関数を実装したいと考えています。したがって、socket.core.dll をコピーする必要はもうありません (楽しみのためです)。

メーリング リストを検索すると、このトピックについて話し合っている人が何人 かいます。

しかし、詳細な手順について質問があります。lua と luasocket のコードを変更して (dll メソッドではなく) 連携させるための詳細な手順を教えてください。

VC2008 を搭載した Windows XP で次の手順を試しました。

1) luasocket コードを Lua プロジェクトにコピーします。

2) いくつかのコードを追加します

3) プロジェクトをビルドして実行します。

と入力すると、正しいprint(socket._VERSION)と表示されます。luasocket 2.0.2

と入力すると、それも正しいprint(socket.dns.toip("localhost"))と表示されます。127.0.0.1 table: 00480AD0

しかし、バインドなどの他の機能を使用しようとすると、機能しません。

誰がその理由を教えてくれますか?

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

networking - LuaSocket サーバーはどのようにして複数のリクエストを同時に処理できますか?

問題は、Lua サーバーが複数の要求を同時に受け入れることができないことです。各クライアント メッセージを on コルーチンで処理しようとしましたが、失敗したようです。

このコードは、実際には同時に複数のクライアント メッセージを受け付けないようです。この方法の何が問題なのですか? 助けてくれてありがとう。

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

lua - Lua ソケット非同期呼び出し

Lua ソケットを使用して http サーバーと通信するプログラムを作成しています。私が使用している API は「socket.http.request」であり、同期的であることがわかりました。私の理解では、応答またはタイムアウトが発生するまで待機します。私の理解は正しいですか?もしそうなら、私は非同期 API を使用したいと思います。

また、リクエストが処理されたときにコールバック関数を呼び出す別の API「socket.http.request_cb」も見つけました。ただし、ここでは機能しないようです。(この API は、私が使用しているバージョンでは使用できません。) ここでは Lua 5.1 と Lua ソケット 2.0.2 を使用しています。Lua または Lua ソケットのどのバージョンがこの API を持っているか教えてもらえますか?

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

lua - Lua http ソケットの評価

lua 5.1 と luaSocket 2.0.2-4 を使用して、Web サーバーからページを取得します。最初にサーバーが応答しているかどうかを確認し、次に Web サーバーの応答を lua 変数に割り当てます。

すべてが期待どおりに機能しますが、リクエストは 2 回実行されます。次のようなことができるのだろうか(明らかに機能しません):

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

sockets - lua http ソケットのタイムアウト

LuaSocket HTTP モジュールのドキュメントには、HTTP 接続でタイムアウトを設定できると書かれています。

次の定数を設定して、HTTP モジュールのデフォルトの動作を制御できます。

PORT: 接続に使用されるデフォルトのポート。PROXY: 接続に使用されるデフォルトのプロキシ。TIMEOUT: すべての I/O 操作のタイムアウトを設定します。USERAGENT: サーバーに報告されるデフォルトのユーザー エージェント。 http://w3.impa.br/~diego/software/luasocket/http.htm

lua スクリプトでこれらの定数を設定するにはどうすればよいですか?

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

windows - LuaSocket socket/core.dll 必要な場所?

私が使うとき

それは正常に動作します.dllは「dir/socket/core.dll」にありますが、dllを移動すると

「dir/folder/core.dll」と使用

見つかったことを返しますが、folder.core で特定のモジュールを見つけることができませんでした。

その socket.core 要件の外で Luasocket を使用するにはどうすればよいですか?

ありがとう!

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

lua - LuaSocket を使用した Google 検索のトラバース

Google 検索を作成し、すべての結果を別の配置でフォーマットする Lua プログラムを作成しようとしています。唯一の問題は、これらを行う方法が見つからないことです。

  1. 検索結果のhtmlを取得する
  2. すべてのページを検索する
  3. で結果を省略して検索する
0 投票する
2 に答える
1021 参照

multithreading - 応答に時間がかかりすぎるlua関数を検出して迅速に処理するにはどうすればよいですか?

私はCoronaSDKを使用して、luasocketを必要とするシンプルなアプリを作成しています。Corona SDKは、非同期httpreqを実行するためのluasocketをサポートします。

しかし、luasocketのUDPを使用したいと思います。luasocketからのUDPreceive()メソッドは、メッセージを受信するまでブロックされています。

CoronaSDKはLuaLanesをサポートしていません。したがって、別のスレッドでudpメッセージを聞くことはまったく不可能です。

だから私は、関数(この場合はudp.receive())が応答するのに時間がかかりすぎるかどうかを検出してキャンセルするためのメソッド/トリック/回避策がluaにあるかどうかを考えていますか?

前もって感謝します

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

networking - Lua ソケットでクライアント IP を取得する方法

LuaSockets を使用してサーバーに接続するときに、各クライアントの IP アドレスを取得する方法を見つけるのに苦労しています。また、これが別の投稿で回答されている場合は申し訳ありませんが、見つけることができました。その場合はリンクしてください。

乾杯!