php シンプルなソケット_PHP チュートリアル

WBOY
リリース: 2016-07-13 09:52:59
オリジナル
818 人が閲覧しました

php シンプルソケット

この記事では、php を使用したシンプルなソケットの例を共有します。入力文字列を受け取り、処理して、この文字列をクライアントに返す TCP サービスを実装します。

ソケットサーバーを生成する

リーリー

ヒント: 上記のコードを実行するには、コマンド プロンプトを使用する必要があります。その理由は、ここでは Web ページではなくサーバーが生成されるためです。 Web ブラウザを使用してこのスクリプトを実行しようとすると、30 秒の制限を超える可能性が高くなります。以下のコードを使用して無限の実行時間を設定できますが、コマンド プロンプトを使用して実行することをお勧めします。

set_time_limit(0);

コマンド プロンプトでのこのスクリプトの簡単なテスト:

Php.exeソケット_サーバー.php

システム環境変数に php インタープリターへのパスを設定していない場合は、php.exe への詳細なパスを指定する必要があります。サーバーを実行するときは、Telnet 経由でポート 1234 に接続してサーバーをテストできます。

上記のサーバー側には 3 つの問題があります:

1. 複数の接続を受け入れることはできません。

2. 1 つのコマンドだけで完了します。

3. Web ブラウザーからこのサーバーに接続することはできません。

この最初の問題は解決するのが簡単です。アプリケーションを使用して毎回サーバーに接続できます。しかし、次の問題は、Web ページを使用してサーバーに接続する必要があることですが、これはさらに困難です。サーバーに接続を受け入れさせ、クライアントにデータを書き込み (書き込む必要がある場合)、接続を閉じて次の接続を待つことができます。

前のコードに基づいてそれを改善し、次のコードを生成して新しいサーバーを作成します。 リーリー

このサーバーは何をすべきですか?ソケットを初期化し、データを送受信するためにキャッシュを開きます。接続を待機し、接続が確立されると、サーバー側の画面に「ソケットが接続されました」と表示されます。このサーバーはバッファをチェックし、バッファ内にデータがある場合は、接続されているコンピュータにデータを送信します。次に、このデータに対する受け入れメッセージを送信し、メッセージを受け入れると、メッセージをデータに保存し、接続されているコンピュータにメッセージを認識させ、最後に接続を閉じます。接続が閉じられると、サーバーは次の接続の処理を開始します。

ソケットクライアントを生成する

2 番目の問題への対処は簡単です。 PHP ページを生成し、ソケットに接続し、データをそのキャッシュに送信して処理する必要があります。その後、処理されたデータが待機しているので、データをサーバーに送信できます。別のクライアント接続では、そのデータが処理されます。

次の例はソケットの使用方法を示しています:

リーリー

このコード例は、クライアントがサーバーに接続する様子を示しています。クライアントはデータを読み取ります。これがこのサイクルで到着する最初の接続である場合、サーバーは「NO DATA」をクライアントに送り返します。これが発生した場合、クライアントは接続の最上位にあります。クライアントはデータをサーバーに送信し、データはサーバーに送信され、クライアントは応答を待ちます。応答を受信すると、応答を画面に書き込みます。

興味がありそうな記事

    phpは配列(in_array()、array_search()、array_key_exists())に値が存在するかどうかを調べます
  • ソケットを介してWebコンテンツを取得するphpの簡単な例
  • PHPはMVCを実装します最も簡単な開発方法、モデル思考
  • php 独自の MVC フレームワークの簡単なケースを作成し、参考のためにアイデアを提供します
  • php 重みを計算する簡単な方法 (宝くじアプリケーションに適しています)
  • PHP の Try、throw の簡単な使用法catch
  • 簡体字中国語を繁体字中国語に変換するPHPメソッド
  • curlを使用してgetリクエストとpostリクエストを実装するphpメソッド

http://www.bkjia.com/PHPjc/1005593.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1005593.html技術記事 PHP の単純なソケット この記事では、PHP を使用した単純なソケットの例を紹介します。入力文字列を受け取り、処理して、この文字列をクライアントに返す TCP サービスを実装します。 をプロデュースします...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!