- ベストアンサー
winsockを使った通信方法
winsockを使った通信でサーバークライアント方式の通信プログラムで クライアントプログラムがサーバープログラムに接続して、 クライアントプログラムで移動あった時のみ サーバーに現在の位置情報を送信し、サーバープログラムが他の参加者に 送信するという通信方式で通信を行っています。 この方法だと接続者が複数人の場合、一人だけ移動していると普通に通信でき位置情報の更新 も出来るのですが、 同時に移動が起こると、モデルが勝手に移動してクライアントプログラムに触れなくなってしまいます。 これを避けるにはどうしたらいいでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
「同時に移動が起こると、モデルが勝手に移動してクライアントプログラムに触れなくなってしまいます」も意味がよくわからないんだよね. 「同時に移動が起こる」とか「クライアントプログラムに触れる」とかってどういうことだろう.
その他の回答 (3)
- Tacosan
- ベストアンサー率23% (3656/15482)
ぶっちゃけた話私には答える能力はないのですが (<「だったら書くな」という意見もあろうが), それはさておき. まず, あなたのプログラムでは「複数のクライアントのうち 1つがある物体を動かしたら, サーバがクライアントに通知することにより全てのクライアントでその動きをする」ということでいいですか? もしそうだとしたら, 「複数のクライアントが同じ物体を同時に動かす」ときにどのような動作を期待しているのですか? 単純に, クライアント側で「サーバからの移動情報があったら強制的に操作をキャンセルする」のではダメなのですか?
補足
それも試して見たんですが、うまくいかなかったのですが マルチスレッド方式でやるとうまくいきました
- wormhole
- ベストアンサー率28% (1626/5665)
>こちらでも同じ質問をしています。 リンク先でも説明できていないみたいですけど・・・
- wormhole
- ベストアンサー率28% (1626/5665)
>同時に移動が起こると、モデルが勝手に移動してクライアントプログラムに触れなくなってしまいます。 「モデル」って何ですか?
補足
すいません。書くのを忘れていました。3Dのモデルの座標を やりとりする通信プログラムを作っています。
補足
http://dixq.net/forum/viewtopic.php?f=3&t=13815 こちらでも同じ質問をしています。 うまく説明出来なくて申し訳ないです。