0

Java を使用して UDP ベースのクライアント/サーバーを作成します。

サーバーが常にソケットからパケットを取得する場合:

socket.receive(packet); 

クライアントが複数のパケット、たとえばパケット 1、2、3、4 を送信している場合でも、クライアントはパケット 4 しか取得できません。これらのパケットをすべて再送信しても、4、3 の逆の順序で送信しても違いはありません。 2 と 1. クライアントは、より大きなシーケンス番号を持つパケットのみを取得できます。これは一種の魔法です。しかし、私が実際に望んでいるのは、4 つのパケットすべてを取得することです。

4

1 に答える 1

1

送信されたすべての DatagramPackets に同じ基になる byte[] 配列 'dataBuf' を使用しているため、再送信中にそれらは区別されません。

于 2013-03-23T11:28:29.300 に答える