有关网络传输的几个疑难问题,敬请高手指点。

Alexeyomux 2002-07-11 07:44:49
小弟现在正在学习网络编程,却发现困难多多。现在我想通过程序在多台机器间传送数据。我希望能够先向网络中的机器发送消息,要求他们回应,然后再向有回应的机器传送数据。请教具体该怎么做?能同时向多台机器传送数据吗?
另外,可不可以要求某一台机器返回一个指定的文件在该机器上的存储信息(如,有/无)。如果可以,请教具体的做法。
请大家畅所欲言,所用工具和语言没有太大的关系,只要能给出具体方案就好。
...全文
33 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
alanwang_ 2002-07-14
  • 打赏
  • 举报
回复
呵呵,多播我不熟悉,以前做过类似的东东,本打算用多播,但时间太紧,添加leaf节点又没搞明白,一气之下就用广播了。
city_lovelace 2002-07-13
  • 打赏
  • 举报
回复
广播就是发到所有的本地机器,组播就是一组对特定的信息感兴趣的机器(D类IP地址)。可以这样实现,思路如下:
感兴趣的机器都加入到特定的组播组(自己选一个组播地址(如238.2.2.2),但是不要选已被分配的),通过setsockopt,参数为ADDMULTIGROUP实现。然后,朝这个地址发送你的消息,要求收到这个消息的机器响应(可以用单播实现),这样你就知道要传给哪些机器了
systemroot1 2002-07-13
  • 打赏
  • 举报
回复
理论上讲Internet本身就是一个大广播域,但由于网络的划分,而产生子网,所以不可能形成统一的广播,如果你是在自己的局域网中,而又没有VLAN的划分,那么你发出的消息就是广播消息,可以传达到网内的每一台计算机。
city_lovelace 2002-07-13
  • 打赏
  • 举报
回复
组播就是多播啦
组播实现起来并不复杂:
创建socket(原始或是UDP),用setsockopt设置加入到选定的多播组,这样就能收到报文。
发送端可以不用加入(也可以加入)到多播组,然后用sendto发送到选定的多播组(目的地址为多播地址),这样在一个本地网上只要加入到选定多播组的机器都能收到。
而且,多播可以由路由器转发。
alanwang_ 2002-07-13
  • 打赏
  • 举报
回复
广播通不过路由器,只能在局域网使用。
组播?是多播吗?多播处理起来比广播复杂的多,添加节点也很麻烦,我觉得广播挺好,实现起来很简单
Alexeyomux 2002-07-13
  • 打赏
  • 举报
回复
谢谢,能将实现的情况讲得再详细一些吗?
city_lovelace 2002-07-13
  • 打赏
  • 举报
回复
广播地不好,推荐使用组播
Alexeyomux 2002-07-11
  • 打赏
  • 举报
回复
广播和组播又是指什么?请详细解释一下做法。
zengpan_panpan 2002-07-11
  • 打赏
  • 举报
回复
同时向多个机器传送数据可以用广播或者组播

可以在指定机器上装个服务器,接受文件有无信息的查询。这就和IE连到某个站点上,取个页面结果返回404 NOT Found一样。

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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