如何处理多个客户端之间的通信?

daidongsheng 2006-10-23 12:33:27
局域网中现有6台计算机,其中一台作为Server,其他的作为Client,Server把读数据然后发给5台Client(Client得到的数据不一样),简单的说就是Client之间要相互发送数据,而且数据非常重要!

请问:

是选择Client->Client还是选择Client->Server->Client?

刚学TCP/IP网络编程,还希望高手多指点!




...全文
350 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
daidongsheng 2006-10-29
  • 打赏
  • 举报
回复
没有人关注了,呵呵!这次讨论就到这里吧
snowbirdfly 2006-10-25
  • 打赏
  • 举报
回复
但是Server传送的都是很重要的数据,而且数据量非常大,单位达到了T,Client需要处理大量的数据
有没有更好的办法啊?
那你就用CSC模式了,假如SERVER数据非常重要~~
鄢老 2006-10-25
  • 打赏
  • 举报
回复
直接用WinSock算了,又方便而且又锻炼人!
daidongsheng 2006-10-25
  • 打赏
  • 举报
回复
现在想到了一个办法,大家看看怎么样?

Server1把数据分块传到Clients,Clients把处理的数据都传到Server2进行数据的二次处理,这样程序写起来就很简单了!

我现去试试这样行不行,大家再想想有没有其他的办法啊!谢谢各位了!
rgwfeng2 2006-10-23
  • 打赏
  • 举报
回复
我也在考虑此问题
bjtwtx 2006-10-23
  • 打赏
  • 举报
回复
LZ,早日给分吧
bjtwtx 2006-10-23
  • 打赏
  • 举报
回复
如果你有非常大量的client,这时候靠服务器中转,服务器恐怕会吃不消。这种情况下,可以服务器处理一小部分工作,把主要的数据收发工作交给client之间直接进行收发。不可能没有服务器的
bjtwtx 2006-10-23
  • 打赏
  • 举报
回复
client数量不是很大的话,用服务器做中转没有问题的
daidongsheng 2006-10-23
  • 打赏
  • 举报
回复
我看书上说的,p2p模式的话客户端用UDP传输比较适合,如果用TCP的话会很麻烦,用TCP的话是很麻烦啊,感觉Client的程序很乱!
书上建议采用p2p和c/s混合模式,重要的数据用csc模式通过TCP传输,不重要的数据用p2p模式通过UDP传输!
laiyiling(Graphics ◎ Multimedia) 的建议不错!
但是Server传送的都是很重要的数据,而且数据量非常大,单位达到了T,Client需要处理大量的数据
有没有更好的办法啊?
请大家帮帮忙,小弟多谢了!

canjian 2006-10-23
  • 打赏
  • 举报
回复
比较简单的方式就是利用Server转发数据,其他的客户端接收转发数据,程序设计应该说是最简单的吧! 不建议使用广播,可以在Server保存一个Client列表,这样方便转发,不会对网络有什么影响
DentistryDoctor 2006-10-23
  • 打赏
  • 举报
回复
其实C2C,CSC都可以。主要看有没有必要让Server参与了。推荐使用C2C,这样可以减轻服务器的压力,不过,如果需要服务器来协调或其它需要服务器来参与的事务,用CSC或许更合适。
beijingshizi 2006-10-23
  • 打赏
  • 举报
回复
建议你还是用c-s-c模式,如果用网状结构,那将非常麻烦,数据量大的时候,造成局域网拥塞。
而且client端的压力也增大。

倒不如直接用一个server用作数据中转和广播。现在的局域网都避免网状拓扑。
Kudeet 2006-10-23
  • 打赏
  • 举报
回复
先用c2c,如果发送失败,再用服务器中转
an_bachelor 2006-10-23
  • 打赏
  • 举报
回复
一般來説 客戶之間直接通信可以充分利用客戶端的資源 還有不容易在服務器形成瓶頸 不容易因爲服務器儅掉導致所有通信中斷 而通過服務器的話 服務器可以對所有通過的數據進行一些操作 比如日誌什麽的 到底用哪种模式看你的系統需求

18,356

社区成员

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

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