⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multicastcom.java

📁 用JAVA写的支持IPV6的P2P多线程聊天程序
💻 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 + -