java 技术贴_JAVA技术贴
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
接收数据:阻塞式,需要单独作为一个线程
1、创建多播广播通道:new MuliticastSocket(2426); 构造方法应当包含开启的端口号
2、获取广播地址,并加入此广播地址 muliticast.jionGroup(InterAddress.getByName("192.22.22.2"));
3、创建你个空的btye[]数组。和一个datdagramPacke对象。包含btye[]相关信息
4、接收数据:mutilicastSocket.receive(datagramPacket);
5、读取datagramPacket内容:利用String的构造方法
public static void main(String[] args) throws IOException {
MulticastSocket ms= new MulticastSocket(2426);
InetAddress group = InetAddress.getByName("226.81.9.8");
ms.joinGroup(group);
byte[] b = new byte[1024];
while (true) {
DatagramPacket datagramPacket = new DatagramPacket(b, b.length);
ms.receive(datagramPacket);//接受数据
String string = new String(datagramPacket.getData(), datagramPacket.getOffset(),
datagramPacket.getLength());
System.out.println(datagramPacket.getAddress()+"" + string);
}
4、NIO
NIO是jdk1.4之后引入的一套全新的IO API,处理数据的方式不同于传统IO,传统IO的处理数据的方式以字节为单位,而NIO是一个Buffer(数据块) 为单位,传统IO属于阻塞式(流在读取数据时如果未读到时,程序会处于阻塞状态);而NIO的处理的方式为非阻塞式方式允许(底层为信号通讯),NIO可以在单线程应用中处理多个客户请求。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 接收数据:阻塞式,需要单独作为一个线程 1、创建多播广播通道:new MuliticastSocket(2426); 构造方法应当包含开启的端口号 2、获取广播地址,并加入此广播地址 muliticast.jionGroup(InterAddress.getByName("192.22.22.2")); 3、创建你个空的btye[]数组。和一个datdagramPacke对象。包含btye[]相关信息 4、接收数据:mutilicastSocket.receive(datagramPacket); 5、读取datagramPacket内容:利用String的构造方法 public static void main(String[] args) throws IOException { MulticastSocket ms= new MulticastSocket(2426); InetAddress group = InetAddress.getByName("226.81.9.8"); ms.joinGroup(group); byte[] b = new byte[1024]; while (true) { DatagramPacket datagramPacket = new DatagramPacket(b, b.length); ms.receive(datagramPacket);//接受数据 String string = new String(datagramPacket.getData(), datagramPacket.getOffset(), datagramPacket.getLength()); System.out.println(datagramPacket.getAddress()+"" + string); } 4、NIO NIO是jdk1.4之后引入的一套全新的IO API,处理数据的方式不同于传统IO,传统IO的处理数据的方式以字节为单位,而NIO是一个Buffer(数据块) 为单位,传统IO属于阻塞式(流在读取数据时如果未读到时,程序会处于阻塞状态);而NIO的处理的方式为非阻塞式方式允许(底层为信号通讯),NIO可以在单线程应用中处理多个客户请求。