很简单的东西,但对我来说太难.

mj_wwww 2007-03-15 07:44:44
第一次,我是白纸。
分布式系统中,做一个控制程序,10台机器同时做一个任务,其中一台完成后,发送消息给服务器,服务器收到消息后,通知其他机器也停止任务,继续下一个任务。
高手请不吝赐教,最好有源码。 :P
...全文
264 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
科学家 2007-03-16
  • 打赏
  • 举报
回复
ScanServreChild()线程负责接收客户端的劳动成果、接收客户端计算完毕的消息时触发m_event事件、m_event被触发时通知客户端电脑停止计算。
客户端:没收到ScanServreChild()线程的停止计算的消息,就继续计算。计算完毕通知ScanServreChild()线程。
科学家 2007-03-16
  • 打赏
  • 举报
回复
开一个客户端服务器就为他开一个线程与该客户端保持实时连接。某客户端计算完毕后,通知服务器计算完毕,服务器被通知时立刻再触发一个事件 HANDLE m_event;该m_event的触发(SetEvent函数)会立即让其他线程(与其他客户端保持连接的线程)收到,其他线程收到该事件的触发消息的处理就是:各自向连接的计算机发出停止计算的消息,各客户端收到主服务器相应线程发来的停止计算的消息后,停止就是了。别怕!不难的。
给你个框架吧:
服务器端要有一个扫描客户端(就是参与计算的各台电脑,我在此叫做客户端)的主线程。给它起个名字叫做ScanServer()
这个函数的要求:1,是线程函数,2.有死循环3.循环体内:发现某个客户端的连接请求就将该连接所产生的socket(就是accept函数的返回值,是一个socket)作为参数传递给ScanServreChild()线程。让ScanServreChild()线程与该客户端保持实时连接,专门对付应酬该客户端电脑的所有工作,ScanServer()就不再管那个客户端了。继续等待新的客户端前来连接,再生成一个新的
ScanServreChild()线程负责另一台计算机。4.另外,ScanServreChild()线程接到的参数中除了一个socket外还要有个HANDLE m_event;在定义这个m_event时要全局的。莫忘记CreatEvent();5.做个结构含有socket 和 m_event 一起传给ScanServreChild()线程。
mj_wwww 2007-03-16
  • 打赏
  • 举报
回复
我正在学网络编程,可是现在这东西就要做出来,所以想先对付过去,回头好好补知识。
55。。。
hchen118 2007-03-15
  • 打赏
  • 举报
回复
呵呵,你可以去www.vckbase.com的程序库看看。
DentistryDoctor 2007-03-15
  • 打赏
  • 举报
回复
先学习一下分布计算的相关技术吧,再学习一下网络编程即可。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧