2

1 つのサーバーが複数のクライアントとデータを共有し、1 つのクライアントが複数のサーバーのデータにアクセスする Android アプリを作成しています。問題は、クライアントは connect() を使用して複数のサーバーに接続できますが、サーバーは一度に複数の接続を受け入れることができないことです。私はdevelopers.androidのBluetoothページを読んで、そこから次のものを拾いました

TCP/IP とは異なり、RFCOMM では一度にチャネルごとに 1 つの接続クライアントのみが許可されるため、ほとんどの場合、接続されたソケットを受け入れた直後に BluetoothServerSocket で close() を呼び出すことが理にかなっています。

したがって、BluetoothServerSocket で複数のクライアントを受け入れる方法や、サーバー側から複数の RFCOMM を確立する方法、またはこの問題を回避する方法があります。

4

2 に答える 2

5

同様の問題に直面し、接続ごとに個別のUUIDを使用して、受け入れたい接続ごとに個別のServerSocketを作成しようとしたと思います。これにより、各 ServerSocket が異なる RFCOMM チャネルでリッスンしたと思います。

于 2013-04-12T23:07:18.307 に答える