問題タブ [reactphp]
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.
php - React/ZMQ: REQ REP は一度しか機能しません
Websocket を介してサーバーへのリクエストを取得し、サーバーから応答を返そうとしています。これは「一種の」動作ですが、これを実行できるのは一度だけです。余分なリクエストはどこかにハングアップします。
サーバーバインド:
サーバーに静的な PHP ファイルがあり、実行時にサーバーからの応答を返す必要があります。
サーバーを起動してphpファイルを実行すると、「戻る」応答が返されます。ただし、もう一度実行しようとすると、ハングします。リクエストは毎回受けているのですか?
また、誰か$pull->onが私にビットを説明できますか?それが何をするのかどこにも見つかりません。
完全なサーバー コード:
php - ZMQ REP REQ - 送受信が機能しない
私は Websocket サーバーを稼働させています。私自身の使用のために、静的 PHP スクリプトを実行したときに接続済みのリストを取得したいと考えています。
私のPHPスクリプトpull.php:
次に、サーバースクリプトで:
そのため、サーバー スクリプトが実行されているときに、pull.php. responseこれは機能し、私が出力したテキストを送り返しますvar_dump。ただし、その後pull.phpスクリプトをリロードすると、ハングするだけです。理由はわかりませんが、どこかでデータを受信したことを相手に伝えていないため、別の要求を送信できないと想定しています。
また、現在、データをPusher クラスのメソッドに$pull->on('message', array($pusher, 'onPull'));送信しています。onPull()現時点では何も返しませんが、データを返す場合、これをリクエスタに戻すにはどうすればよいですか?
php - PHP のソケットに Reactphp を使用すると、ポートがリッスンを停止します
チャット システムが含まれている iOS アプリを開発しています (これらの手順を使用します)。API は LAMP サーバー上で実行されるため、クライアント/サーバーとサーバー/クライアントの間で通信するためのソケット ハンドラーとして PythonのTwistedの代わりにReactPhpを使用しました。
これは、ファイルsocket.phpに使用しているコードです
次に、ターミナルでこれを実行します。
問題:
正常に動作しますが...ターミナルを閉じる(またはctrl + Zでプロセスを停止する)と、ポートはリッスンを停止します。Apache が起動した瞬間からソケットが常にリッスンするようにするにはどうすればよいですか?
ターミナルを閉じた後 (ケース 1)、
php socket.php再度実行しようとすると、次のメッセージが表示されます: tcp://127.0.0.1:1337 にバインドできませんでした: アドレスは既に使用されていますターミナルを閉じるとアクセスできなくなりますか?
php - 反応ループの最大間隔-> addPeriodicTimer は 2147 秒です
ラチェット ワンプ アプリで react\eventloop を使用してタイマーを実行しています。3600 秒で 1 時間ごとに実行したいのですが、何らかの理由で間隔を 2147 秒より高く設定すると、次の警告が表示されます。
2147 秒の何がそんなに特別なのですか? そして、この制約を回避するにはどうすればよいですか?
イベントハンドラ
サーバー
php - React 警告「stream_select(): タイプ ZMQ_FD のストリームを select()able 記述子として表すことはできません」
Ratchet を初めて使用しようとしており、プッシュ チュートリアルに従っています。
に次のコードがありますpush-server.php。
ファイルを実行すると、次の警告が表示されます
の参照行\vendor\react\event-loop\StreamSelectLook.phpは次のとおりです。
これまで Ratchet や ZeroMQ を使用したことがなく、問題が何であるかを理解するのに苦労しています。これを検索しても、Googleで役立つものは何も見つかりません。
Windows 7 x 64 で WampServer x 64 を実行しています。ZMQ のインストール方法については、このガイドに従いました。
デバッグ用のスクリーンショットを次に示します。


この問題の原因と解決方法を教えてください。
php - PHP アプリケーションの Guzzle プール
PHPでGuzzleプールを使用しようとしています。しかし、私は ASYNC リクエストを処理するのに苦労しています。以下はコードスニペットです。
関数を待機させて正しい結果を得るにはどうすればよいですか。
php - React / Ratchet / ZMQ での複数の Subscribe メソッドのベスト プラクティス
ユーザーがログインして、ログインしている他のすべてのユーザーを表示し、新しいユーザーがサインインするか、既存のユーザーがログアウトしたときに通知を受け取ることができる、小さなリアルタイム Websocket ユースケースを構築しようとしています。
このシナリオでは、ユーザーがログインまたはログアウトするときに、UserController で ZMQ PUSH Socket を使用します。
ユーザーコントローラー
次に、Ratchet docs のような Pusher クラスを取得しました:リンク
このクラスには 2 つのメソッドがあります: onUserLoginとonUserLogoutです。
onSubscribe、onOpen、onPublish
ユーザー情報プッシャー
最後の部分は、着信接続をリッスンするループを備えた WampServer/WsServer/HttpServer です。私のZMQ PULLソケットもあります
RatchetServerConsole
この例では、login() または logout() からの呼び出しは、常に両方のメソッド (onUserLogin と onUserLogout) を呼び出します。on($event, callable $listener)メソッドで使用できるイベントを説明しているドキュメントを見つけることができませんでした。リンク/知識ベースを持っている人はいますか? UserController のどのメソッドが起動されたかを確認する最善の方法は何ですか?
- Controller の $sUserData に情報を追加し、Pusher でこれを確認できます。
- 他のソケットを別のポート (PULL および PUSH の場合は 5554 など) にバインドし、このポートで on() メソッドを使用できます。
- 私は...これを解決するための別のベストプラクティスはありますか?
正常に動作するため、クライアントコードは必要ありません
rabbitmq - react\stomp で RabbitMQ から N 個のメッセージのみを消費し、それらに個別に確認応答してから終了します
PHP react\stomp で RabbitMQ を使用しています。2 つのキューがあります。1 つは「todo」、もう 1 つは「done」です。コンシューマーは「todo」から読み取り、その作業を行い、メッセージに ACK を送信してから、それを「done」キューに発行します。
「todo」から N 個のメッセージのみを消費し (そして個別に確認応答し)、終了することを保証する方法はありますか? その主な理由は、コンシューマを長時間実行したくないためであり、N メッセージ後にコンシューマを再起動したいからです。