此次的课程设计通过借鉴网上的信息(前人种树后人乘凉,感谢在网上分享的大佬们)然后自己再次修改调试完成。
步入正题吧
主要代码:
public class MULTICAST {
private String cachePath="D:\\Network\\CC1\\";
SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");//设置日期格式
public String BC_IP;// = "228.5.6.7"; // 组播地址
public int BC_PORT;// = 4567; // 组播端口
private final static int PACK_SIZE = 1024;
private byte[] buffer = new byte[PACK_SIZE];
public String msg=null;
public String input=null;
private InetAddress bcAddr = null;
private MulticastSocket sock=null;// 接收文件来显提示
private MulticastSocket socket1=null;// 接收文件信息
String filename = null;
int fileLen = 0;
int numofBlock = 0;
int lastSize = 0;
MULTICAST(){}
MULTICAST(String addr,String port){
BC_IP=addr;
BC_PORT=Integer.parseInt(port);
try {
/*实例化InetAddress,指定接收地址*/
sock = new MulticastSocket(BC_PORT);
socket1 = new MulticastSocket(BC_PORT + 1);
socket2 = new MulticastSocket(BC_PORT + 2);
/*(绑定多点广播套接字)创建一个用于接收的MulticastSocket组播套接字对象*/
bcAddr = InetAddress.getByName(BC_IP);
/*使用组播套接字joinGroup(),将其加入到一个组播*/
sock.joinGroup(bcAddr);
socket1.joinGroup(bcAddr);
sock.setTimeToLive(1);
msg="启动!<启动时间:" + new Date() + ">";
Received.textArea.setText(msg+"\n");
rev();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrac