最近、インスタント メッセージング アプリの 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 のチャット ケースから抜粋しました。ドキュメントは非常に充実しており、多くのケースがあります。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
