小弟想编写一个基于java多播技术的应用程序,不知道怎样能实现在广域网内使用? 正在编写一个类似飞鸽传书的软件,想实现能在广域网内自动检测哪台主机开启了我写的程序,由此得到IP,再使用TCP进行传输。打算采用java的多播技术,目前在局域网内已经可以检测到开启我的程序的主机了,可不知道为什么广域网却不行?应该怎样设置多播类才能在广域网使用呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可否使用个中间层, 当客户端打开时, 到中间层注册一下, 然后你的服务器发送消息时, 只要到中间层读取注册过的用户就行了.一点不成熟的意见.因为一个程序在系统中是用端口号来标志的, 在网络中就是用IP地址加端口号了, 但是不同的程序又可以使用同一个端口号, 所以如果去主动扫描的话, 一是耗时, 二是即使某IP地址的机器上使用了你的程序的端口号, 那个程序也未必会是你的这个程序.所以感觉主动注册还可以. 谢谢回复,能否指点一下中间层大体上应该怎么写呢,初学JAVA,不是很懂,谢谢了!!! http://dev.csdn.net/article/20/20082.shtm 答:1)多播或称组播,在因特网上有很吸引人的潜力。94年开始的backbone是一个有名的组播实验网络(本质上不是一个新的物理网,而是那些支持组播功能的路由器的集合)。你若要在因特网上运行,首要的条件是组播路由器的支持(且只能在支持组播功能的路由器的集合的网络上运行)。因此,你必须打开你的路由器,开启组播功能,同时配置它,使得它能与它的上级组播路由器交换信息。2)JAVA组播程序的设计是很简单的,只要构造一个MulticastSocket(port)并加入一个组播组就行了,随后的发UDP包与收UDP包与UDP通信相同。注意的是:JAVA支持是IGMPV2版本的组播。因此,能够要注意的只是将UDP包的寿命ms.setTimeToLive(ttl)中ttl设置得大一些。其它你没有什么要做的。以上仅供你参考 闲的没事发个小问题 java中的float与double 关于数据流读文件的问题!急!急! 多个窗口的切换问题,请教! 大家来讨论一下静态类和非静态类的生存周期! socket相关问题 eclipse下无法通信 我想学java,不知道从何学起,请推荐2本经典的入门书 大家碰到过这个问题吗?用过Jbuilder8的朋友进来看看吧! 关于组播的一些问题,达人乱入。 请问这两句这么翻译,多谢! 关于Graphics类问题 jTable 列编辑 问题
一点不成熟的意见.因为一个程序在系统中是用端口号来标志的, 在网络中就是用IP地址加端口号了, 但是不同的程序又可以使用同一个端口号, 所以如果去主动扫描的话, 一是耗时, 二是即使某IP地址的机器上使用了你的程序的端口号, 那个程序也未必会是你的这个程序.所以感觉主动注册还可以.
1)多播或称组播,在因特网上有很吸引人的潜力。94年开始的backbone是一个有名的组播实验网络(本质上不是一个新的物理网,而是那些支持组播功能的路由器的集合)。你若要在因特网上运行,首要的条件是组播路由器的支持(且只能在支持组播功能的路由器的集合的网络上运行)。因此,你必须打开你的路由器,开启组播功能,同时配置它,使得它能与它的上级组播路由器交换信息。
2)JAVA组播程序的设计是很简单的,只要构造一个MulticastSocket(port)并加入一个组播组就行了,随后的发UDP包与收UDP包与UDP通信相同。注意的是:JAVA支持是IGMPV2版本的组播。因此,能够要注意的只是将UDP包的寿命ms.setTimeToLive(ttl)中ttl设置得大一些。其它你没有什么要做的。以上仅供你参考