ホームページ  >  記事  >  バックエンド開発  >  MeepoPS -- 軽量ソケット サービス

MeepoPS -- 軽量ソケット サービス

WBOY
WBOYオリジナル
2016-06-20 12:26:581465ブラウズ

MeepoPS は Meepo PHP Socket の略です。純粋な PHP で開発された効率的で安定したマルチプロセス SocketService を提供するように設計されています。

MeepoPS は、オンラインのリアルタイム チャット、インスタント ゲーム、ビデオ ストリーミング、RPC、リアルタイム モニタリング、および元々 HTTP インターフェイス/スケジュールされたタスクを使用していたシナリオを簡単に構築できます。

概要:

  • 開発言語: PHP5.3 以上

  • 最高の言語として信頼できるのは PHP だけではありませんon Nginx は Web アプリケーションの開発に使用され、同時に効率的で安定したインスタント メッセージング ソケット アプリケーションを構築することもできます。

  • MeepoPS の最小動作要件は、PHP の PCNTL ライブラリ

  • MeepoPS はプラグインとしての位置付けです。独立して実行できるだけでなく、ThinkPHP、CodeIgniter、YII、その他の MVC フレームワークに接続することもできます。

  • MeepoPS は、マルチプロセス、高パフォーマンス、高可用性、高い同時実行性、分散型、軽量のソケット サービス、安全で安定しています。コードは GitHub で維持され、オープンソースで永久に無料です。

  • MeepoPS は純粋な PHP から構築されており、コードはシンプルかつエレガントです。より多くのことを行うための最高の言語!

  • 複雑なコードや新しい構文はなく、ネイティブ PHP 言語から直接呼び出すだけです。

ポータル:

  • マニュアルアドレス: http://meepops.lanecn.com

  • Github: https://github.com/lixuancn/MeepoPS

  • バグ提出: https://github.com/lixuancn/MeepoPS/issues

  • Weibo: http://weibo.com/lanephp

MeepoPS 公式ウェブサイト

インスタント メッセージング

免責事項:

  • PHP アプリケーションの大部分は Linux サーバー上にデプロイされるため、MeepoPS は非 Unix オペレーティング システム (Windows など) をサポートしません。 Apple Mac (OS X)、CentOS、Ubuntu、Red Hat、Fedora、FreeBSD、およびその他の Unix 系オペレーティング システムを使用して MeepoPS を起動できます。

  • Windows ユーザーは、VirtualBox、Vmware、その他の仮想マシン ソフトウェアをインストールして MeepoPS を実行できます。

  • 複数のプロセスと信号処理には、PHP の PCNTL ライブラリが必要です。 MeepoPS は PCNTL に深く依存しているため、MeepoPS のプロセスを 1 つだけ起動する場合でも、PCNTL ライブラリをインストールする必要があります。 インストール方法:

    PHP マニュアル - PCNTL インストール

  • 大規模なアクセスでは、PHP の PECL 拡張機能 Libevent をインストールすることをお勧めしますが、これは必須ではありません。リンク数が多いシナリオでは、Libevent は良好なパフォーマンスを発揮します。インストール方法: PHP マニュアル - Libevent のインストール。 2016 年 5 月 6 日の時点で、PHP の公式 Libevent 拡張機能は PHP7 をサポートしていません。PHP7 での Libevent インストール方法: PHP7 の Libevent ブランチ

  • リンクを監視するデフォルトの方法は、選択ポーリング メカニズムです。 。 PHP の選択ポーリング メカニズムは、最大 1024 個のリンクのみをリッスンできます。この制限を突破するには、Libevent をインストールするか、--enable-fd-setsize=2048 を使用して PHP を再コンパイルしてインストールします。

クイックスタート:

サーバーの使用方法:

基本的な機能と使い方はdemo-telnet.phpに書かれており、基本的にはそのまま利用できます。

通常のターミナル起動:

1. 启动: 命令行输入"php demo-telnet.php start".2. 状态: 命令行输入"php demo-telnet.php status".3. 平滑结束: 启动后按下"ctrl + c"即可.4. 强行结束: 命令行输入"kill -INT `cat /var/run/meepo_ps/meepo_ps_master.pid`".
デーモンモード起動:

1. 启动: 命令行输入"php demo-telnet.php start -d".2. 状态: 命令行输入"php demo-telnet.php status".3. 平滑结束: 命令行输入"php demo-telnet.php stop".4. 强行结束: 命令行输入"php demo-telnet.php kill".5. 强行结束: 命令行输入"kill -INT `cat /var/run/meepo_ps/meepo_ps_master.pid`".
デモ:

1. 基于Telnet协议的服务端使用方法请参考demo-telnet.php.2. 如果服务端启动的是HOST是0.0.0.0, 那么客户端可以是外机,可以是本机.本机可以是127.0.0.1, 也可以是localhost.3. 如果服务端启动的是HOST是127.0.0.1/localhost, 那么客户端是不能外机,只能是本机.
クライアント使用:

Telnet:

客户端可使用telnet客户端.如: telnet 127.0.0.1 19910
コードの記述:

客户端可借助编程语言的Socket来实现. 可参考Test/test_client.php
チラ見:

  1. MeepoPS/config. ini は MeepoPS の設定ファイルです。 とphpを使用します。 ini も同じ形式で、「;」はコメントです。

  2. MeepoPS/index を導入する必要があります。 php ファイル。 require_once 'MeepoPS/index から MeepoPS を使用します。 php」が起動しました。

  3. MeepoPS/Api/ ディレクトリ内のファイルは、ユーザーに公開されるインターフェイスです。 MeepoPS の使用は、インターフェイス ファイルをインスタンス化した後のオブジェクトに基づいて行われます。 インスタンス化するときは、リッスンしているホストとポートを渡すだけです。

  4. MeepoPS は、コールバック関数の形式で設定したビジネス ロジックをトリガーします。 たとえば、新しいリンクが追加されると、設定した「Hello world」がコールバックされます。別の例として、リンクがメッセージ「PING」を送信すると、設定した返信メッセージ「PONG」がコールバックされます。

  5. MeepoPS は複数のインスタンスを起動でき、新しいインターフェイス クラス ファイルはそれぞれ 1 回インスタンス化されます。

  6. MeepoPS は、複数のインターフェイス クラス ファイルをインスタンス化するだけでなく、同じインターフェイス クラス ファイルを複数回インスタンス化することもできます。 たとえば、3 つのインスタンスが起動され、それぞれポート 19910、19911、および 19912 をリッスンするとします。

  7. インターフェースクラスファイルをインスタンス化し、関連する設定を行った後、MeepoPSrunMeepoPS()を呼び出してMeepoPSを起動します。

  8. MeepoPSrunMeepoPS() 以降のコードはすべて実行されません。

例:

Example ディレクトリにはサンプル ケースが含まれており、各ディレクトリは独立したプロジェクトであり、継続的に追加されます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。