質問

vb.netで簡単なudp lanチャットアプリケーションを構築していますが、パケットをどのように分割する必要があるのでしょうか。送信された各パケットには、ID、ユーザー名、IPアドレスが含まれている必要があります。また、ユーザーリストとテキストメッセージを更新するためのjoinまたはleaveなどのコマンドパーツも必要です。これらすべてを単純なパケットに入れて、受信時に簡単に分割し、さまざまな部分にアクセスする最も簡単な方法を知りたいです。ありがとう。

UDPを使用しているのはこれがLANのみであるため、 *。*。*。255

にブロードキャストしているためです

編集:ジョンに答えてくれてありがとう。私が知りたいのは、パケットをフォーマットする最も簡単で強力な方法であるため、ユーザー名、ID、コマンド、テキストメッセージが含まれ、それを受信したユーザーはそれを解読して、書かれたメッセージのみを表示しますユーザー、または参加または退会などのコマンドで、適切な参加メッセージを表示し、ユーザーを例のリストに追加する場合。

役に立ちましたか?

解決

おそらくパケットをxmlでフォーマットし、受信側でlinq to xmlを使用してそれを分解します。また、フォーマットにJSONを使用することもできますが、解析が少し難しくなる可能性があります。

他のヒント

インスタンスの ToByteArray メソッドと静的な FromByteArray()メソッドを使用して適切なクラスを作成します(それぞれバイト配列へのシリアル化とバイト配列からの解析用)。次に、 UdpClient.Send() を使用します。送信し、 UdpClientを送信します。 Receive() で受信します。

ToByteArray および<を支援するために、 BinaryReader / BinaryWriter および/または BitConverter を使用できます。 code> FromByteArray メソッド。 MemoryStream をクイックメモリ内ストリームとして使用して、 BinaryReader / BinaryWriter に渡すことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top