問題タブ [php-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.

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

php - PHP ストリーム書き込みバッファ

非ブロッキング方式で大量のデータ (~250K) をストリームに書き込もうとしています。

複雑さとオブジェクト構造を抽象化して、これが私が実行しているものです。

ただし、データがすべて書き込まれるわけではありません。これは PHP の書き込みバッファが機能していると仮定して、設定stream_set_write_buffer( $fp, 0 )しましたが、それでも問題は解決しませんでした。

fwrite を 4096B のチャンクに分割しました。クライアントが 3 つの完全なバッチ (4096 バイト) と 4 つ目のバッチの ~1500B を送信したようです。fwrite を連続して呼び出すと、書き込まれた 0 バイトが返されます。

このデータをすべて非ブロッキング方式で送信するためにキューに入れる方法を知っている人はいますか? 削除するsocket_set_blocking( $fp, false );と、すべて正常に動作します。明らかに、非同期で実行する際の問題です。

あなたの考えは何ですか?ソケット拡張機能はここでまったく役に立ちますか? バッファの扱いは異なりますか?

注: さまざまな理由で curl を使用しないように、意図的にこのソケット トランスポート レイヤーを作成しています。使用curl_multi()はオプションではありません。

0 投票する
0 に答える
3213 参照

php - PHP警告:Socket_Read():ソケットから読み取ることができません[104]

私はこのスクリプトを使用して、tcpを介してgpsトラッカーからgpsデータを取得していますが、上記のスクリプトは正常に機能しています。しかし、数時間後、このスクリプトはphp警告メッセージの下に表示されます。

これを修正するのを手伝ってください。

ありがとう、

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

php - PHP: stream_socket_server()

自作の PHP TCP チャット サーバーを使用していますが、リモート切断を検出する方法がありません。

stream_socket_server() を取得して、それに接続されているすべてのものを吐き出す方法を誰かが知っていれば、私は感謝しています。

次に、 psuedocodeで次のようなループを実行できます。

または、 $stream_socket_accept() で作成された変数が現在接続されているかどうかを確認できますか。

私がこれを理解するまで、このプロジェクトは失敗します。これについて私を助けてくれる人に感謝します!

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

php - PHPソケット:phpサーバーからWebクライアントへ

モデムからのメッセージを処理するために使用するphpソケットサーバーがあります。PHP WebSocketサーバーを作成したいのですが、モデムからメッセージを受信するたびに、それをWebクライアントに送信します。私は成功せずにそれをやろうとしている数日です。

それを行うための最良の方法はどうですか?ありがとう

これが私がやりたい方法です:

しかし、それを行うための別の最善の方法がある場合は、教えてください。

ありがとうございました。

 

 

編集済み:これは、非ブロッキングソケットでのsocket_readエラーの代替手段です:http: //php.net/manual/pt_BR/function.socket-read.php#73509

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

linux - MCU からデータを読み取るための PHP ソケット プログラミング

簡単な質問です。私はソケットを初めて使用するので、MCU (Atmel) からデータを読み取る方法はあるのでしょうか? 私は Linux を実行しており、Atmel をRS232、または USB を介して自分のコンピューター (サーバー) に接続できます。MCU (USB/COM) からコンピュータに送られてくるデータを直接読み取って処理する方法はありますか?

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

php - PHPソケット、送信と受信でメッセージの長さが異なる

圧縮ファイルを送信するためにソケットを使用していますが、送信用のファイルサイズが受信用のファイルサイズと異なります。

これはサーバーです:

これはクライアントです:

しかし、これはクライアントに関する2つのメッセージです。

そしてこれはサーバー上にあります:

では、プロトコルがTCPであるにもかかわらず、再送信されないデータが失われるのはなぜですか?どうしたの?

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

php - 1つのプログラムでphpソケットの読み取りと書き込みを行う方法は?

ここでは、クライアントからサーバーにメッセージを渡し、サーバープログラムを介してクライアントに応答を書き戻したいと思います。実際、私はデータベースをサーバー側に保持し、クライアントの入力に従ってデータをクライアントに送り返そうとしています。クライアントからサーバーへの送信部分とサーバーからのデータの取得は問題ありません。応答としてクライアントに書き戻すアイデアが欲しい

これが私のサーバープログラムです

これが私のクライアントプログラムです

アイデアをください。

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

php - 同じプログラムで PHP ソケットを介してメッセージを送受信する方法

クライアントからサーバーにメッセージを送信するための簡単なソケット プログラムを作成しました。これは正常に機能し、サーバーからクライアントへの応答を取得する必要があります。同じソケットプログラムでそれを行うことはできますか?もしそうなら、どうすればできますか?

サーバーソケットのコードは次のとおりです。

?>

クライアントソケットのコードは次のとおりです。

?>

誰か助けてください....

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

php - PHP でアクティブなネットワーク インターフェイスのリストを取得する方法

だから私が望むのは、ソケット関数を使用してphpスタンドアロンでこれを達成することです-

コマンドを使用してこれを行うことができることはわかっていますsystemが、そのためには、スティッキー ビットのアクセス許可を変更するかifconfig (root privelaged command)、C ラッパーを作成する必要があります。

PHPでこれを達成するための最良の方法を教えてください。

私の目的は、HTML と PHP を使用して開発されたアプリケーションを使用して、使用可能なネットワーク インターフェイスの一覧をフロント エンド ユーザーに表示することです。

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

php - fsockopen() 実際にはどのように機能しますか?

私は、プログラミングの割り当てのためにPHPでコードジャッジソフトウェアを開発しようとしています。ソケットプログラミングが必要なJavaサーバーでコードをコンパイルしようとします.PHPでのソケットプログラミングの知識はほとんどありません。私はググって、似たような仕事をしているコードを見つけました.しかし、私はまだ物事の要点を得ることができません..実際にはどのように機能しますか? マニュアルは専門的すぎてよく理解できません

ここにコードの一部があります。私の理解に従ってコメントを書きました:

fsockopen の仕組みがわかりません。ここで fwrite はどのように使用されますか?

注:コードを調べている間、$compilerhost、$compilerport変数がどこにも見つかりませんでした。

私の疑問を正してください。前もって感謝し、悪い英語を許してください