none
C# 网络同步逻辑的设计问题请教 RRS feed

  • 问题

  • 我想实现这样一个功能.

    有多个客户端执行同一任务,我需要指定其中一个客户端将其当前执行进度发送到服务端,再由服务端通过UDP协议发广播将进度发给其他客户端执行同步操作.当发送进度的这一个客户端下线之后再由其他在线客户端的其中之一负责发送同步信号.请教各位大哥我该如何实现这一逻辑?

    2010年8月6日 18:55

全部回复

  • 周末都没人吗 ~~~~~~~~~~
    2010年8月7日 5:34
  • 有难度。分布式协同的问题了。涉及网络通讯、进程间同步。标记一下,学习
    2010年8月8日 14:36
  • 你自己描述问题的过程已经很清晰了,包括使用方式。

    不过由于不知道你为什么需要这么做(不知道同步任务是什么),觉得你指定的客户端来做任务同步是否合理(你只是同步进度,或者还有其他数据?)

    还有使用udp是否合适?你本身是S/C模式的,所有客户端都是要连接到服务端。你可以用TCP保持所有客户端连接到服务端,然后有服务器来随即选择一个作为同步对象,来同步其他客户端。当这个客户端掉线后,服务器重新选择。

    难道你是想做游戏操作同步?让每个客户端都保持一样的进度?不错是在想不出对实时性要求高会用c#来做。

     


    family as water
    2010年8月8日 14:49
  • 肯定要指定一个客户端来做同步啊,不然我怎么知道他们的进度,我只需要把进度发给各个在线的客户端即可.我每个任务都有标识的.客户端有可能执行的是同一任务,也有可能是不同的任务.我只需要执行相同任务的客户端保持同步即可. 各位大哥帮帮我吧
    2010年8月9日 5:44
  • 也就是发一个消息而已,C#应该是可以胜任的吧~
    2010年8月9日 5:49