都是从网上搜取的资料,经过自己整合,测试成功。
使用java 的UDP进行广播,要分两步走,首先要加入到广播组地址,其次要建立套接字传输信息
关于广播,涉及到MulticastSocket,他用于接收广播的信息,前提是要将它加入到广播组,组播的地址是保留的D类地址从224.0.0.0—239.255.255.255,而且一些地址有特定的用处如,224.0.0.0—244.0.0.255只能用于局域网中路由器是不会转发的,并且224.0.0.1是所有主机的地址,224.0.0.2所有路由器的地址,224.0.0.5所有ospf路由器的地址,224.0.13事PIMv2路由器的地址;239.0.0.0—239.255.255.255是私有地址(如192.168.x..x);224.0.1.0—238.255.255.255可以用与Internet上的。这里我们就选取230.0.0.1作为我们的广播地址。
此软件类似于飞鸽,用于局域网通信,每个客户端上线都要寻找局域网其他主机并把自己的信息和所有主机交换,以此模式更新。。。
class lanSend {
/**
* @param args
* @throws Exception
*/
//广播地址
private static final String BROADCAST_IP = "230.0.0.1";//广播IP
private static final int BROADCAST_INT_PORT = 40005; // 不同的port对应不同的socket发送端和接收端
MulticastSocket broadSocket ;//用于接收广播信息
InetAddress broadAddress ;//广播地址
DatagramSocket sender ;//数据流套接字 相当于码头,用于发送信息
public lanSend() {
try {
//初始化
broadSocket=new MulticastSocket(BROADCAST_INT_PORT);
broadAddress = InetAddress.getByName(BROADCAST_IP);
sender = new DatagramSocket();
} catch (Exception e) {
// TODO: handle exception
System.out.println("*****lanSend初始化失败*

这篇博客介绍了如何使用Java的UDP协议实现局域网内的广播通信。通过MulticastSocket加入广播组,并利用DatagramSocket发送和接收信息。文章详细讲解了广播地址的选择、广播流程,以及客户端上线、下线的广播消息发送。示例代码展示了广播查找在线用户、响应信息和发送离线通知的过程。

1794

被折叠的 条评论
为什么被折叠?



