- ベストアンサー
共有お絵かきシステムの同期の取り方について
現在、共有ホワイトボードになるものを作っています。 今は以下のような方法で同期をとろうとしています。 クライアントからサーバへはソケットで接続し、サーバ側で接続があれば別スレッドで入力を待ち続けます。 スレッドを新しく走らせる時点でクライアントのソケットに対するOutputStreamを配列に入れ、複数のクライアントの出力先の管理をします。 各スレッド毎に入力(描画情報)があると、上記のOutputStreamの配列に対してその要素数分だけfor文をまわし、受け取った情報を接続中のクライアントに出力する。 といった同期の取り方をしています。 しかし、各クライアントからの描画情報はとても多く、クライアントが3人以上になるとすぐに固まってしまったり、クライアント側で情報がごちゃごちゃになり期待通りの描画がされなかったりといったことになります。 共有ホワイトボード等でお絵かき情報の同期の取り方について何か良い考え方はありませんでしょうか?
- みんなの回答 (2)
- 専門家の回答
お礼
luckymako様 ありがとうございます。 クライアント側の描画情報の取得&送信処理は別の人が担当しているので、一度提案してみます。