問題タブ [io-socket]
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.
perl - Perl でソケットに「SO_RCVTIMEO」を設定するにはどうすればよいですか?
私がこのようにしようとすると:
その後、私のスクリプトは「setsockopt: Invalid argument at [line 2]」で死にます。IO::Socket
とpodsはperlfunc
言いませんが、perlfunc はTCP_NODELAY
上記のように見える例を示しています。
(簡単なメモ:私はできる限り自分の質問に答えましたが、確かにより良い答えを歓迎します。最も明白な「より良い」は、少なくともPOSIXマシンでは移植可能であることです)
perl - Perl で IO::Async::Loop イベントから IO::Async::Listener (またはその通知機能) オブジェクトを削除する方法
IO::Socket::UNIX を使用して UNIX ドメイン ソケットを作成し、それを IO::Async::Listener のインスタンスに渡して、ソケットでのリッスンとデータ受信時の通知を処理するコードがあります。次に、IO::Async::Listener が IO::Async::Loop イベント ループ インスタンスに追加されます。もちろん、ソケットは制御されたマネージャーで動的に作成されます。
特定の条件で、イベントループからソケットを削除したい (完全に削除するか、可能であれば他の条件で一時的に無効にする) 方法がわかりません。
IO::Async::Loop は $loop->remove( $notifier ) を介してイベントループから IO::Async::Notifier オブジェクトを削除することを提案しますが、notifier の作成は IO::Async::Listener によって内部的に処理されました (IO を介して) ::Async::Stream だと思いますか?)。スクリプトの Ctrl-C でも、ソケット ファイルは削除されません。手動close $socket and unlink( $path )
でソケット ファイルを削除する必要がありますか?
望ましい動作の抽象コードは次のとおりです。
perl - この IO::Socket::UNIX の例のどこが間違っているのでしょうか?
Unix ソケットを介して単純なエコー クライアント/サーバーを実装しようとしています。(私の最終的な目標は JSON データを交換することですが、この例は簡単にするためです)。クライアント プロセスが 2 回目にソケットに出力しようとすると、ブラック ホールに消えてしまう理由がわかりません。
server.pl :
client.pl :
期待される出力:
実際の出力:
perl - IO::Socket サーバーと POST データの小さな問題
いくつかの理由で、IO::Socket を使用して小さな http サーバーを構築することしかできません (専用の他のモジュールは使用できません)。
EDIT1:質問を編集しました。コメント行「#last ...」の代わりに何を入れることができるか知りたいです
これが私のスクリプトです:
ここで、POST リクエストを送信すると、それ (スクリプト) は最後の行 (POST データ) を考慮しません。
スクリプトの出力は次のとおりです。
perl - PerlでUDP経由でファイルを送信する
午後、
Perl で小さな UDP クライアント/サーバーを作成していますが、ファイルの送信に問題があります。ファイルをチャンク (データグラム) に分割してサーバーに送信する必要があることを理解しています。
ファイルをデータグラムに分割して送信する方法がわかりません。今のところ、UDP 接続を正常に確立できます。サーバーは、UDP パケットを受信すると報告します。これは私がこれまでに持っているものです。どんな助けも大歓迎です!
サーバ:
クライアント:
perl - HTTP サーバーでの Cookie の処理
このサイトに投稿するのは初めてですが、頻繁にアクセスしています。私は楽しみのためにコーディングしているプロジェクトに行き詰まっています。私はPerlの初心者なので、気楽にやってください。Perl で Web サーバーを作成することに成功しました。これは PHP を解析し、複数の接続を処理します。
ここまでは順調ですが、ブラウザに Cookie を送信することに行き詰まっています。
Cookie を送信する前に、サーバーがドキュメント出力 (ファイルの読み取りから HTTP 経由での送信) を解析する方法を理解していないと思います。私は何日も探しましたが、空っぽになりました。おそらく私はこれを過度に複雑にしていますが、ドキュメントが送信を要求しているキー値をどのように知ることができるのでしょうか?
HTTP::Cookies
私が探しているものではない、ウェブからのドキュメントを解析するランドページのみを検索します。ヘッダーを送信する前に、サーバー側で "Set-Cookie:" のローカル ドキュメントを解析するとどうなりますか?
試してみましHTTP::Cookies->extract_cookies($my_local_file)
たが、次のように応答します
「パッケージ経由でオブジェクト メソッド "_header" が見つかりません...」
サーバー側で発生したため、ヘッダーファイルが送信されなかったため、これは理にかなっています。
arrays - Perl ネット::WebSocket::サーバー
Perl モジュール Net::WebSocket::Server を使用して、ドメインにアクセスしているユーザー向けのメッセージ配信システムを構築しています。私は CPAN モジュール ページのサンプル スクリプトを使用しています。これは私が実行したコードです。
IPや接続IDなど、オンラインのユーザーを提供するある種の情報を抽出し、それらをすべて配列に入れたいと思います。私のコメントされた試みが接続データを取得し、datadumper を使用してそれを印刷するのを見ることができますが、これはエラーまたはハッシュのみをもたらしました。IPまたは接続IDを抽出して配列に入れる方法を誰かが理解できるので、一意の接続がいくつあるかがわかりますか?
解決: