0

websockets を使用して php でチャット プログラムを設計しています。クライアント側では、チャットとオンライン ユーザーを 2 つの異なる出力フィールドに表示したいと考えています。チャット メッセージとオンライン ユーザーは同じ socket_send() メソッドを使用してサーバーから送信されるため、サーバーがオンライン ユーザーまたはチャット メッセージを送信したかどうかをクライアント側で区別する方法は、クライアント側でソケットのデータを受信したときです。それらを 2 つの異なる出力フィールドに表示します。

私が言いたいことを理解していただければ幸いです。クライアント側でJavaScriptを使用しています。

4

1 に答える 1

0

あなたの場合の WebSocket 接続は、現実世界の空気のようなものです。WebSocket メッセージはサウンドに対応します。人が音を出すと、その音は空気を介して他の人の耳に伝わります。

しかし、他人の音の意味を理解させるために、通信プロトコルと呼べるものを開発しました。私たちは単語を開発し、発音を与えました。つまり、エミッターの人々は、自分が考えたことを何でも音に変換することができます。受信者は、これらの音を感覚に戻すことができます。

これまでのところ、クライアントとサーバーの間には WebSocket という空気があります。また、音を出すこともできます (メッセージを送信することもできます)。しかし、これまでのところ、両者には共通の理解である通信プロトコルが欠けています。あなたはそれを提供しなければなりません。仕方がない。これは非常に複雑な作業になる可能性があることに気付くでしょう。

それでも、意味、音(あなたの場合は「メッセージ」)、およびその逆の間で神とデザインの変換ルールを演じるのは楽しいです.

だから、先に進んで、プロトコルを発明してください。これは他の人が言っていたことです。Userやなどの特定のオブジェクト タイプを考え出す必要があります。やMessageなどのメッセージにプロパティを割り当てます。次に、これらのオブジェクトを何らかの形式でエンコードし、メッセージに入れ、これらのメッセージをクライアントとサーバーの間で送信します。senderrecipient

クライアントサーバーの両方が、基本的なオブジェクト タイプを認識する必要があり、これらのメッセージでオブジェクトがどのようにエンコードされているかを認識する必要があります。

于 2013-03-07T13:35:57.747 に答える