基于cms的企业网站建设,公司网站功能,阳新县建设局网站,银行网站模板免费下载前言
Internet 协议集支持一个无连接的传输协议#xff0c;该协议称为用户数据报协议#xff08;UDP#xff0c;User Datagram Protocol#xff09;。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。 此代码就是基于UDP协议编写。 通常把一对多的…前言
Internet 协议集支持一个无连接的传输协议该协议称为用户数据报协议UDPUser Datagram Protocol。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。 此代码就是基于UDP协议编写。 通常把一对多的通信称为多播通信。采用多播通信技术不仅可以实现一个发送者和多个接收者之间进行通信的功能而且可以有效减轻网络通信的负担避免资源的无谓浪费。 UDP组播地址224.0.0.0 ~ 224.0.0.255 组播有一个特点就是你发送地址可以使用一个端口但是你接收地址也可以使用同样的一个端口。 数据发送
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.util.Scanner; public class SendDataDemo { public static void main(String[] args) throws IOException { /* 组播 */ Scanner innew Scanner(System.in); MulticastSocket msnew MulticastSocket(); System.out.println(请输入用户名); String namein.next(); new MyThread().start(); while(true){ String targetnamein.next(); if(886.equals(target)) { break; } byte[] bytes target.getBytes(); InetAddress inetAddress InetAddress.getByName(224.0.0.0); int port11451; DatagramPacket dpnew DatagramPacket(bytes,bytes.length,inetAddress,port); ms.send(dp); // 发送 } System.out.println(主线程退出); ms.close(); }
} 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 数据接收线程
import java.io.IOException;
import java.net.*; public class MyThread extends Thread{ Override public void run() { MulticastSocket ms null; // 指定接收端口 try { ms new MulticastSocket(11451); InetAddress inetAddress InetAddress.getByName(224.0.0.0); // 指定组播地址 ms.joinGroup(inetAddress); // 将当前接收端加入组播 } catch (IOException e) { throw new RuntimeException(e); } byte[] bytesnew byte[1024]; DatagramPacket dpnew DatagramPacket(bytes,bytes.length); while(true){ try { ms.receive(dp); // 接收数据 } catch (IOException e) { throw new RuntimeException(e); } int len dp.getLength(); // 获取接收数据的长度 byte[] data dp.getData(); // 获取存储接收数据的数组 String res new String(data, 0, len); if(886.equals(res)) { break; } System.out.println(res); } System.out.println(输出线程退出); }
} 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
End