public static void main(String[] args) throws IOException {
Properties properties = Resources.getProperties("src/main/resources/ftp.properties");
System.out.println(properties.toString());
MulticastSocket multicastSocket = new MulticastSocket(66);
InetAddress[] inetAddress = InetAddress.getAllByName(properties.getProperty("groupip"));
System.out.println(Arrays.toString(inetAddress));
multicastSocket.joinGroup(inetAddress[0]);
System.out.println(inetAddress.toString());
}

解决办法:

  1. 网上查找各种资料之后,尝试了个方法都不对。
  2. 仔细排查自己的代码发现没有错误,所以开始思考IP或者端口引起的UDP无法加入组中。
  3. 排查之后发现UDP组播IP写错了,记得组播IP是IP的D类地址,范围在224.0.0.0~239.255.255.255
  4. 组播组可以是永久的也可以是临时的。组播组地址中,有一部分由官方分配的,称为永久组播组。永久组播组保持不变的是它的ip地址,组中的成员构成可以发生变化。永久组播组中成员的数量都可以是任意的,甚至可以为零。那些没有保留下来供永久组播组使用的ip组播地址,可以被临时组播组利用。

    224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),地址224.0.0.0保留不做分配,其它地址供路由协议使用;

    224.0.1.0~224.0.1.255是公用组播地址,可以用于Internet;

    224.0.2.0~238.255.255.255为用户可用的组播地址(临时组地址),全网范围内有效;

    239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效。

    判断一个IP地址是否为组播地址,只需要判断该地址是否在224.0.0.255(不含)到239.255.255.255之间,

    IP地址本身是一个32位的数值,即0x00000000-0xffffffff之间,所以只需判断IP对应的Long值是否大于0xE00000FF且小于等于0xEFFFFFFF即可(该方法并非原创,而是摘自与live555源代码)

    今天在做UDP组播发送和接收数据的时候,遇到一个错误,如下:public static void main(String[] args) throws IOException { Properties properties = Resources.getProperties("src/main/resources/ftp.properties"); S...
    java .net . SocketException : Unrecognized Windows Socket s error : 0: no Inet4Address associated with interface 本文提供了在Win7或Vista系统下解决这个异常信息的办法。
    java .net . SocketException : error set ting options at java .net .TwoStacksPlainDatagram Socket Impl.join(Native Method) at java .net .AbstractPlainDatagram Socket Impl.jo... 笔记本电脑使用无线网络没有插有线,系统报错如下: 16:32:27.071 ERROR net.sf.ehcache.distribution.MulticastRMICacheManagerPeerProvider - Error star ting heartbeat. Error was: error set ting options java .net . Socket Exceptio
    Please indicate the source: http://blog.csdn .net /gaoxiangnumber1Welcome to my github: https://github.com/gaoxiangnumber1 Ways to get and set the options that affect a socket : The getsockopt and set soc
    解决办法:   1、网络编程时未正确捕获 java .net . SocketException , 客户端先关闭就会报这个异常;(检查发送数据是否符合服务器接收格式,不然的话服务器会自动断开连接,这样, socket 就会被关闭,那么你就不能使用IO流读取数据,这样就会报这个错误)   2、数据库和应用服务器的网段不同(这个查看一下,可能性较小)  3、好像说防火墙的比较多。。。。(试一下,关闭)
    set Socket Option各项的含义 DELAY 小缓冲写入延迟值。如果为0,则禁用了TCP对于小缓冲区操作的Nagle算法。如果需要启动该算法则需要把该值设置为非0 KEEPLIVE保持连接的特性。如果该值为0,则禁用了保持连接的特性。如果要启动该特性则要把该值设置为非0 LINGER 关闭一个连接前等待未发送的数据发送完毕所经过的秒数。如果该值为0,则禁用了该属性 RCVBUF 接受缓冲区的大小,单位字节 SNDBUF...
    kettle是一个ETL工具,用于数据集成和转化。在kettle使用过程中,可能会遇到 java .net . socketexception : connection re set 错误。这个错误通常是由于网络连接出现异常导致的。 当我们在使用kettle进行数据传输的时候,数据需要从源系统中读取,然后通过网络传输到目标系统中。如果网络连接不稳定,不正常终止,就会导致传输错误。这种情况下,就会出现 java .net . socketexception : connection re set 错误。 这个错误可能有多种原因,如网络不稳定、网络故障、目标系统出现问题等。我们可以尝试通过网络诊断工具进行排查,找出具体问题所在。 为了避免这种错误,我们需要加强网络和系统的稳定性,确保数据传输的可靠性。另外,在进行数据传输的时候,我们也应该控制数据的大小和传输速度,尽可能减少网络连接的时间和压力,避免出现传输错误。 总之, java .net . socketexception : connection re set 错误可能会对数据传输造成影响,我们需要尽可能减少出现这种错误的可能,提高数据传输的可靠性和稳定性。
    java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO) 出现原因和解决办法 135937 javax.naming.NameNotFoundException:Name [jdbc/TomcatPool] is not bound in this Context Unable to fin 51124 java.lang.NoSuchMethodException:(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServl 上官猪猪: 把private、protected改成public Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'practitionerController' m lyx_112: 谢谢 一直没找到 fastDFS安装时,./make.sh编译时出错---perl:未找到命令 恒者走天下: 大佬我这安装 fastdfs编译时报错说找不到"sf/sf_global.h"文件怎么办 爬虫国际统计局省市区 能分享一下源码吗 U盘安装WIN10时显示 windows无法安装到这个磁盘 选中的磁盘采用GPT分区形式 时空河长: 当然了,可能这篇文章的方法更严谨些