📄 multicastcom.java
字号:
// MulticastCom.java
import java.io.*;
import java.net.*;
import java.util.*;
public class MulticastCom extends Thread {
protected MulticastSocket msocket;
protected InetAddress group;
protected int port;
protected boolean isActive;
protected AppFrame appf; //回调用
public MulticastCom(InetAddress group, int port, int ttl,
AppFrame appf) throws IOException {
this.group = group;
this.appf = appf;
this.port = port;
isActive = true;
// create & configure multicast socket
msocket = new MulticastSocket(port);
msocket.setTimeToLive(ttl);
msocket.joinGroup(group);
// start receive thread and send multicast join message
start();
}
// Sends a multicast message
public int sendMessage(byte data[], int offset, int len) {
try {
msocket.send(new DatagramPacket(data, offset, len, group, port));
} catch (Exception e) {
System.exit(1);
}
return len;
}
// Loops receiving datagrams
public void run() {
DatagramPacket p = new DatagramPacket(new byte[1024], 0, 1024, group, port);
while(isActive) {
try {
msocket.receive(p);
appf.MessageReceived( p.getData(),p.getOffset(), p.getLength());
} catch (IOException e) {
System.exit(1);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -