17.4.3  使用MulticastSocket实现多点广播(4) 通过UserInfo类的封装,所有客户端只需要维护该UserInfo类的列表,程序就可以实现广播.发送私聊信息等功能.本程序底层通信的工具类则需要一个MulticastSocket和一个DatagramSocket,该工具类的代码如下. 程序清单:codes\17\17.4\LanTalk\ComUtil.java // 聊天交换信息的工具类 public class ComUtil { // 使用常量作为本程序的多点广播IP…
http://book.51cto.com/art/201203/322560.htm <疯狂Java讲义(第2版)>本书深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构.Java的面向对象特征.Java集合框架体系.Java泛型.异常处理.Java GUI编程.JDBC数据库编程.Java注释.Java的IO流体系.Java多线程编程.Java网络通信编程和Java反射机制:覆盖了java.lang.java.util.java.text.java.io和java.ni…
上面程序中init()方法里的第一行粗体字代码先创建了一个MulticastSocket对象,由于需要使用该对象接收数据报,所以为该Socket对象设置使用固定端口:第二行粗体字代码将该Socket对象添加到指定的多点广播IP地址:第三行粗体字代码设置该Socket发送的数据报会被回送到自身(即该Socket可以接收到自己发送的数据报).至于程序中使用MulticastSocket发送.接收数据报的代码,与使用DatagramSocket并没有区别,故此处不再赘述. 下面将结合Multicast…
// 让该类实现Runnable接口,该类的实例可作为线程的target public class MulticastSocketTest implements Runnable { // 使用常量作为本程序的多点广播IP地址 private static final String BROADCAST_IP = "230.0.0.1"; // 使用常量作为本程序的多点广播目的地端口 public static final int BROADCAST_PORT = 30000; // 定…
该类主要实现底层的网络通信功能,在该类中提供了一个broadCast()方法,该方法使用Multicast Socket将指定字符串广播到所有客户端:还提供了sendSingle()方法,该方法使用DatagramSocket将指定字符串发送到指定SocketAddress,如程序中前两行粗体字代码所示.除此之外,该类还提供了两个内部线程类:ReadSingle和ReadBroad,这两个线程类采用循环不断地读取DatagramSocket和Multicast Socket中的数据,如果读到的信…
原文链接:http://hbiao68.iteye.com/blog/1943354 使用MulticastSocket实现多点广播 DatagramSocket只允许数据报发送给指定的目标地址,而MulticastSocket可以将数据报以广播的方式发送到多个客户端 若要使用多点广播,则需要让一个数据报标有一组目标主机地址,当数据报发出后,整个组的所有所有主机都能收到该数据报.IP多点广播(或多点发送)实现了将单一信息发送到多个接受者的广播,其思想是设置一组特殊网络地址作为多点广播地址,每一个…
IP多点广播原理 设置一组特殊网络地址作为多点广播地址,每一个多点广播地址都被看作一个组,当客户需要发送和接受信息时,加入到该组即可. IP协议为多点广播提供了一批特殊的IP地址,范围是224.0.0.0 ~ 239.255.255.255 JAVA中使用MutilcastSocket加入一个广播组(joinGroup),从而在组内发送和接受数据报DatagramPacket. MutilcastSocket比起普通的UDP通信的DatagramSocket多了setTimeToLive(int…
1.基本概念: a.DatagramPacket与DatagramSocket位于java.net包中 b.DatagramPacket表示存放数据的数据报,DatagramSocket表示接受或发送数据报的套接字 c.由这两个类所有构成的网络链接是基于UDP协议,是一种不可靠的协议. 之所以不可靠是因为发送方不负责数据是否发送成功,接收方收到数据时也不会 向发送方反馈成功消息,容易导致信息的丢失. 但是这种协议却是快捷的,比如CS(半条命)游戏就是基于UDP协议,否则我们估计 要玩一次游戏后就…
原文:https://blog.csdn.net/sunmmer123/article/details/82734245 近期需要学习流媒体知识,做一个Android设备相互投屏Demo,因此找到了这个博主写的,看了很久也同该博主交流探索了许久,非常感谢该博主. 这位博主介绍了Android之间互相的录屏直播 --点对点传输(tcp长连接发送h264),详细介绍了h264的数据结构,对于刚学习流媒体的人来说是很好的福利,不多说附上地址: 来自:baidu_33546245的博客(1) Andro…
最近弄了一个UDP/TCP的小东西,主要需要实现的功能如下(服务器端): 1.基于局域网 2.服务器端网络接口为无线与有线 3.服务器端接收到客户端的数据需要模拟按键进行处理 4.开机自启动 5.使用UDP进行连接,TCP进行通讯 基于以上几点,我们开始分析: 1.需要获取当前的网络IP地址,这里枚举了本机所有的网络地址,只返回ipv4 public String getAddressIP() { //检查网络是否连接 while (!isNetWorkConnected()) { //等待网络…