シンプルなクライアント サーバー チャット システムを構築しています。
クライアントはサーバーにデータを送信し、サーバーはそのデータを他のすべてのクライアントに再送信します。クライアントとサーバーの間でデータを送信するために、TcpListener および Network ストリーム クラスを使用しています。
送信する必要があるフィールドは、たとえば、名前、テキスト、タイムスタンプなどです。ASCII 文字 29 を使用して区切ります。
また、ストリーム データの終わりを示すために ASCII 文字 30 を使用しています。
データはUTF8でエンコードされています。
これは良いアプローチですか?問題が発生しますか? より良い方法はありますか?
アップデート:
おそらく私の質問は誤解されていたので、もっとよく説明します.クライアントからサーバーに送信するデータのリストがあり、すべてのデータを 1 つのストリームだけで送信するとします。これらのデータをどのように送信しますか?
- マークアップの使用
- 文字を区切り文字として使用する
- すべてのフィールドに固定長を使用する