PHP はアプリのインスタント メッセージング サーバーに適していますか?
最近、インスタント メッセージング アプリの Android バージョンを作成したいと思っています。たまたま PHP に精通しているのですが、PHP はインスタント メッセージング サーバーに適しているかどうかを尋ねたいと思います。長所と短所はありますか?
返信内容:
うーん!説明する必要はありません! ! 少し前に最低限のプロジェクトを書きましたPHP 部分は Socket に基づいています
iOS 部分は SocketRocket を使用します
主なことは、PHP はポートをリッスンしてクライアントのリクエストを待機し、それに応じてリクエストします
クライアントは、接続 - ログイン - メッセージの送受信のモードは
1. クライアントが接続をリクエストし、サーバーは接続にインデックスを与え、成功した接続を返します
2.クライアントは接続が成功したことを検出し、ID 情報をサービスに送信します。クライアントでログインします。情報が正しければ、サーバーはアカウント情報を接続インデックスにバインドし、成功したログインを返します。
3. クライアントは、アカウント情報を接続インデックスにバインドし、成功したログインを返します。チャット情報を特定の ID アカウントに送信し、サーバーはチャット情報をデータベースに保存し、同時に受信者に対応する接続インデックスがあるかどうかを取得します。存在する場合、チャット メッセージが送信され、受信者はメッセージを聞いて応答します。オンラインでない場合はプッシュ通知します。同時に送信成功情報を送信者に返し、送信が成功したことを確認します。
これは機能しますが、サーバーが頻繁にハングアップします。その後、RESTful バックアップ プランを追加しました。 。 。 。 あはは、私たちのプロジェクトは GatewayWorker によって作成されたチャット モジュールを使用しています。 インスタント メッセージング バックエンドを実装した後は、インスタント メッセージング アプリを作成する気はもうなくなるでしょう。これを見たら間違いなく吐き気を催すでしょう。
PHP インスタント メッセージング サーバーは、高性能 PHP ソケット サーバー フレームワークである Workerman を使用できます。
Workerman に基づいて、ワークロードを簡素化する TCP 長時間接続アプリケーション フレームワークである GatewayWorker もあります。
これは単なる基礎であり、家を建てるには自分で多くのことを実装する必要があります。
研究用であれば、書いても読んでも大丈夫です。
アプリの作成に重点を置いている場合は、これらのベース サービスを使用するのもよいでしょう。
例:
Huanxin - インスタント メッセージング クラウドのリーダー
LeanCloud
はいずれもインスタント メッセージング サービスを提供し、SDK 調整にアクセスしますメソッド 以上です。自分のビジネスに集中してください。
これらのサービスプロバイダーはすべて無料版を提供しており、ユーザーが少ない場合は基本的に料金は発生しません。 私の PHP の使用状況から判断すると、データベース操作はあまり問題にならないと思います。私はやったことがありませんが、そう思います。サードパーティ製のワイルドドッグを使用しましたが、問題はありませんでした。 Workerman's GatewayWorker
マルチプロトコル、分散展開、ホット アップデートをサポート
サンプル ドキュメントは非常に充実しています それができるかどうかと問われれば、答えはイエスです。実際のプロジェクトでは、適切かどうかを比較する必要があり、プロジェクトのリソース、チームの人選、リーダーの気分によって異なります。これを尋ねる場合は、Java についてある程度の調査を行っており、それぞれの利点について一般的に理解している必要があります。
経験に基づく私の答えは、php を使用してみる価値があるということです。とにかく、あなたはそれを自分で書いたものであり、あなたはそれをよく知っているので、それを手放してみてはいかがでしょうか。 PHP はメッセージをアクティブにプッシュできません。
クライアントはサーバーを要求する新しいメッセージがあるかどうかを検出するためにリクエストをポーリングする必要があり、その後サーバーが応答するため、アプリは定期的にサーバーにリクエストを行う必要があります。 -off を短くするのは簡単ではありません、コストが高すぎます、そして長いです 新しいメッセージはタイムリーではありません
udp パッケージを送信するには一般的な Java ソケットを使用できます。ネイティブ ソケットからの数行のコードで十分です。 . アドレスとポートを指定して、バックグラウンドでサービスのリッスンポートを実行し、サーバー側で対応する送受信を記述します
通信をカプセル化することで記述が容易になります
もあります。私の回答の間違いは私自身が犯したものです。訂正してください。 行われていれば適切ですが、行われていない場合は不適切です。あなたがそれをし、私がそれをしなければ、誰も残らないでしょう。 、しかし時代の参加者。 確かにそうですし、とても信頼できます。最近、PHP を使用して 2 つのチャット プロジェクトを作成しました。1 つは APP、もう 1 つは H5 です。 Workerman のチャット ケースから抜粋しました。ドキュメントは非常に充実しており、多くのケースがあります。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

Appleの製品とサービスは、常に世界中のユーザーに愛され続けています。香港 Apple ID を登録すると、ユーザーはさらに便利になり、特典が得られます。香港 Apple ID の登録手順と注意点を見てみましょう。香港 Apple ID の登録方法 Apple デバイスを使用する場合、多くのアプリケーションや機能では、Apple ID を使用してログインする必要があります。香港からアプリケーションをダウンロードしたり、香港 AppStore の優待コンテンツを楽しみたい場合は、香港の Apple ID を登録することが非常に必要です。この記事では香港のApple IDの登録手順と注意点を詳しく解説します。手順: 言語と地域を選択します。Apple デバイスで「設定」オプションを見つけて、次のように入力します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
