当前位置: 首页>>代码示例>>Java>>正文


Java MulticastSocket类代码示例

本文整理汇总了Java中java.net.MulticastSocket的典型用法代码示例。如果您正苦于以下问题:Java MulticastSocket类的具体用法?Java MulticastSocket怎么用?Java MulticastSocket使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


MulticastSocket类属于java.net包,在下文中一共展示了MulticastSocket类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onResume

import java.net.MulticastSocket; //导入依赖的package包/类
@Override
protected void onResume() {
    super.onResume();

    fileReciveThread = new FileReciveThread();
    fileReciveThread.start();

    try {
        socket = new MulticastSocket(portNum);
        socket.setInterface(ip);
        socket.setBroadcast(true);

        group = InetAddress.getByName("224.0.0.1");
        socket.joinGroup(new InetSocketAddress(group, portNum), networkInterface);
    } catch (IOException e) {
        e.printStackTrace();
    }


}
 
开发者ID:yuvaraj119,项目名称:WifiChatSharing,代码行数:21,代码来源:MessageActivity.java

示例2: PacketReceiver

import java.net.MulticastSocket; //导入依赖的package包/类
public PacketReceiver( MessageListener listener ) 
{
   messageListener = listener; // set MessageListener
   
   try // connect MulticastSocket to multicast address and port 
   {
      // create new MulticastSocket
      multicastSocket = new MulticastSocket(
         MULTICAST_LISTENING_PORT );
      
      // use InetAddress to get multicast group
      multicastGroup = InetAddress.getByName( MULTICAST_ADDRESS );
      
      // join multicast group to receive messages
      multicastSocket.joinGroup( multicastGroup ); 
      
      // set 5 second timeout when waiting for new packets
      multicastSocket.setSoTimeout( 5000 );
   } // end try
   catch ( IOException ioException ) 
   {
      ioException.printStackTrace();
   } // end catch
}
 
开发者ID:cleitonferreira,项目名称:LivroJavaComoProgramar10Edicao,代码行数:25,代码来源:PacketReceiver.java

示例3: RtpSocketUdp

import java.net.MulticastSocket; //导入依赖的package包/类
/**
 * This RTP socket implements a buffering mechanism relying on a FIFO of buffers and a Thread.
 */
public RtpSocketUdp(ConnectCheckerRtsp connectCheckerRtsp) {
  super();
  this.connectCheckerRtsp = connectCheckerRtsp;
  senderReportUdp = new SenderReportUdp(connectCheckerRtsp);
  senderReportUdp.reset();
  packets = new DatagramPacket[bufferCount];
  for (int i = 0; i < bufferCount; i++) {
    packets[i] = new DatagramPacket(buffers[i], 1);
  }
  try {
    mSocket = new MulticastSocket();
  } catch (IOException e) {
    e.printStackTrace();
  }
}
 
开发者ID:pedroSG94,项目名称:rtmp-rtsp-stream-client-java,代码行数:19,代码来源:RtpSocketUdp.java

示例4: RTPSocketAdapter

import java.net.MulticastSocket; //导入依赖的package包/类
public RTPSocketAdapter(InetAddress addr, int port, int ttl) throws IOException {

	try {

	    if (addr.isMulticastAddress()) {
		dataSock = new MulticastSocket(port);
		ctrlSock = new MulticastSocket(port+1);
		((MulticastSocket)dataSock).joinGroup(addr);
		((MulticastSocket)dataSock).setTimeToLive(ttl);
		((MulticastSocket)ctrlSock).joinGroup(addr);
		((MulticastSocket)ctrlSock).setTimeToLive(ttl);
	    } else {
		dataSock = new DatagramSocket(port, InetAddress.getLocalHost());
		ctrlSock = new DatagramSocket(port+1, InetAddress.getLocalHost());
	    }


	} catch (SocketException e) {
	    throw new IOException(e.getMessage());
	}

	this.addr = addr;
	this.port = port;
    }
 
开发者ID:champtar,项目名称:fmj-sourceforge-mirror,代码行数:25,代码来源:RTPSocketAdapter.java

示例5: UDPread0

import java.net.MulticastSocket; //导入依赖的package包/类
UDPread0(int iport, String isrcName, String[] ichanName, int idt) {
			port = iport;
			srcName = isrcName;
			chanName = ichanName;

			try {				//open port for incoming UDP
				if(multiCast != null) {
					System.err.println("Multicast address: "+multiCast);
					ms = new MulticastSocket(port);
					ms.joinGroup(InetAddress.getByName(multiCast));
				}
				else {
					ds = new DatagramSocket(port); 
//					ds.setSoTimeout(10);			//  non-blocking timeout
				}
			} catch (Exception e) { e.printStackTrace(); }
		}
 
开发者ID:cycronix,项目名称:cloudturbine,代码行数:18,代码来源:CTudp_SyncedWrite.java

示例6: multicast

import java.net.MulticastSocket; //导入依赖的package包/类
/**
 * 
 * @param multicastIP for example, 224.X.X.X or 239.X.X.X
 * @param port
 * @param bs
 */
public static void multicast(final String multicastIP, final int port, final byte[] sendData){
	final WifiManager wifi = getWiFiManager();
	MulticastLock multicastLock = wifi.createMulticastLock(String.valueOf(System.currentTimeMillis()));
	multicastLock.setReferenceCounted(true);
	multicastLock.acquire();
	
	try{
		final MulticastSocket multicastSocket=new MulticastSocket(port);
        multicastSocket.setLoopbackMode(true);
        final InetAddress group = InetAddress.getByName(multicastIP);
        multicastSocket.joinGroup(group);
        
        final DatagramPacket packet=new DatagramPacket(sendData, sendData.length,group,port);
        
           multicastSocket.send(packet);
	}catch (final Throwable e) {
		e.printStackTrace();
	}
	
	if (multicastLock != null) {
	    multicastLock.release();
	    multicastLock = null;
	}
}
 
开发者ID:javalovercn,项目名称:j2se_for_android,代码行数:31,代码来源:HCWiFiManager.java

示例7: send

import java.net.MulticastSocket; //导入依赖的package包/类
/**
 * Send an outgoing multicast DNS message.
 *
 * @param out
 * @exception IOException
 */
public void send(DNSOutgoing out) throws IOException {
    if (!out.isEmpty()) {
        byte[] message = out.data();
        final DatagramPacket packet = new DatagramPacket(message, message.length, _group, DNSConstants.MDNS_PORT);

        if (logger.isLoggable(Level.FINEST)) {
            try {
                final DNSIncoming msg = new DNSIncoming(packet);
                if (logger.isLoggable(Level.FINEST)) {
                    logger.finest("send(" + this.getName() + ") JmDNS out:" + msg.print(true));
                }
            } catch (final IOException e) {
                logger.throwing(getClass().toString(), "send(" + this.getName() + ") - JmDNS can not parse what it sends!!!", e);
            }
        }
        final MulticastSocket ms = _socket;
        if (ms != null && !ms.isClosed()) {
            ms.send(packet);
        }
    }
}
 
开发者ID:iilxy,项目名称:AndroidmDNS,代码行数:28,代码来源:JmDNSImpl.java

示例8: sendTextMessageThroughUdp

import java.net.MulticastSocket; //导入依赖的package包/类
@Test
public void sendTextMessageThroughUdp() throws Exception {
    // replace existing implementation for testing purposes
    _testKit.removeService("DefaultGreetingService");
    final MockHandler greetingService = _testKit.registerInOnlyService("DefaultGreetingService");

    MulticastSocket clientSocket = new MulticastSocket();
    InetAddress group = InetAddress.getByName("localhost");
    byte[] datagramBody = PAYLOAD.getBytes(Charset.defaultCharset());
    DatagramPacket packet = new DatagramPacket(datagramBody, 0, datagramBody.length, group, 3940);
    clientSocket.send(packet);

    // sleep a bit to receive message on camel side
    clientSocket.close();

    greetingService.waitForOKMessage();
    final LinkedBlockingQueue<Exchange> recievedMessages = greetingService.getMessages();
    assertThat(recievedMessages, is(notNullValue()));
    final Exchange recievedExchange = recievedMessages.iterator().next();
    String content = recievedExchange.getMessage().getContent(String.class);
    // the receive content is trimmed because extra bytes appended to frame by receiver
    assertThat(PAYLOAD, is(equalTo(content.trim())));
}
 
开发者ID:jboss-switchyard,项目名称:switchyard,代码行数:24,代码来源:CamelNettyBindingTest.java

示例9: sendFrame

import java.net.MulticastSocket; //导入依赖的package包/类
public void sendFrame(final Frame frame) throws IOException {

      final byte[] message = toValidMessage(frame);
      final DatagramPacket packet = new DatagramPacket(message, 0, message.length, mcastAddress, mcastPort);
      for (final MulticastSocket mcastSocket : mcastSockets) {

         try {

            sentMessages++;
            mcastSocket.send(packet);
         } catch (final IOException e) {

            final String exceptionMessage = e.getMessage();
            if (exceptionMessage.endsWith(NO_BUFFER_SPACE_AVAILABLE)
                    || exceptionMessage.endsWith(NO_ROUTE_TO_HOST)) {

               final NetworkInterface networkInterface = mcastSocket.getNetworkInterface();
               final InetAddress mcastSocketInterface = mcastSocket.getInterface();
               LOG.warn(createIgnoredWarning(exceptionMessage, networkInterface, mcastSocketInterface));
            } else {

               throw e;
            }
         }
      }
   }
 
开发者ID:cacheonix,项目名称:cacheonix-core,代码行数:27,代码来源:PlainMulticastSender.java

示例10: sendDiscoveryBroacast

import java.net.MulticastSocket; //导入依赖的package包/类
/**
 * Broadcasts a SSDP discovery message into the network to find provided
 * services.
 * 
 * @return The Socket the answers will arrive at.
 * @throws UnknownHostException
 * @throws IOException
 * @throws SocketException
 * @throws UnsupportedEncodingException
 */
private MulticastSocket sendDiscoveryBroacast()
		throws UnknownHostException, IOException, SocketException,
		UnsupportedEncodingException {
	InetAddress multicastAddress = InetAddress.getByName("239.255.255.250");
	final int port = 1900;
	MulticastSocket socket = new MulticastSocket(port);
	socket.setReuseAddress(true);
	socket.setSoTimeout(130000);
	socket.joinGroup(multicastAddress);
	byte[] requestMessage = DISCOVER_MESSAGE.getBytes("UTF-8");
	DatagramPacket datagramPacket = new DatagramPacket(requestMessage,
			requestMessage.length, multicastAddress, port);
	socket.send(datagramPacket);
	return socket;
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:26,代码来源:SsdpDiscovery.java

示例11: scanResposesForKeywords

import java.net.MulticastSocket; //导入依赖的package包/类
/**
 * Scans all messages that arrive on the socket and scans them for the
 * search keywords. The search is not case sensitive.
 * 
 * @param socket
 *            The socket where the answers arrive.
 * @param keywords
 *            The keywords to be searched for.
 * @return
 * @throws IOException
 */
private String scanResposesForKeywords(MulticastSocket socket,
		String... keywords) throws IOException {
	// In the worst case a SocketTimeoutException raises
	socket.setSoTimeout(2000);
	do {
		logger.debug("Got an answer message.");
		byte[] rxbuf = new byte[8192];
		DatagramPacket packet = new DatagramPacket(rxbuf, rxbuf.length);
		socket.receive(packet);
		String foundIp = analyzePacket(packet, keywords);
		if (foundIp != null) {
			return foundIp;
		}
	} while (true);
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:27,代码来源:SsdpDiscovery.java

示例12: retrieveResponse

import java.net.MulticastSocket; //导入依赖的package包/类
static String retrieveResponse() throws Exception {
    String response = null;
    MulticastSocket recSocket = setUpSocket();

    int i = 0;
    while (response == null) {
        byte[] buf = new byte[2048];
        DatagramPacket input = new DatagramPacket(buf, buf.length);
        try {
            recSocket.receive(input);
            response = new String(input.getData());
        } catch (SocketTimeoutException e) {
        	if (i >= 10) break;
            i++;
        }
    }
    return response;
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:19,代码来源:SsdpDiscovery.java

示例13: RtpSocket

import java.net.MulticastSocket; //导入依赖的package包/类
/**
 * This RTP socket implements a buffering mechanism relying on a FIFO of buffers and a Thread.
 * @throws IOException
 */
public RtpSocket() {
	
	mCacheSize = 0;
	mBufferQ = new ConcurrentLinkedQueue<PacketBufferClass>();

	mReport = new SenderReport();
	mAverageBitrate = new AverageBitrate();
	mTransport = TRANSPORT_UDP;
	mTcpHeader = new byte[] {'$',0,0,0};
	mBufferInOut = new AtomicInteger();
	mPayloadType = 96;
	
	resetFifo();

	try {
		mSocket = new MulticastSocket();
	} catch (Exception e) {
		throw new RuntimeException(e.getMessage());
	}
	
}
 
开发者ID:xunboo,项目名称:JJCamera,代码行数:26,代码来源:RtpSocket.java

示例14: createSocket

import java.net.MulticastSocket; //导入依赖的package包/类
/**
 * Creates multicast socket and joins multicast group.
 *
 * @throws IOException If fails to create socket or join multicast group.
 * @return Multicast socket.
 */
private MulticastSocket createSocket() throws IOException {
    MulticastSocket sock = new MulticastSocket(mcastPort);

    sock.setLoopbackMode(false); // Use 'false' to enable support for more than one node on the same machine.

    if (sockItf != null)
        sock.setInterface(sockItf);

    if (sock.getLoopbackMode())
        U.warn(log, "Loopback mode is disabled which prevents nodes on the same machine from discovering " +
            "each other.");

    sock.joinGroup(mcastGrp);

    if (ttl != -1)
        sock.setTimeToLive(ttl);

    return sock;
}
 
开发者ID:apache,项目名称:ignite,代码行数:26,代码来源:TcpDiscoveryMulticastIpFinder.java

示例15: init

import java.net.MulticastSocket; //导入依赖的package包/类
synchronized public void init(InetAddress bindAddress, Router router, DatagramProcessor datagramProcessor) throws InitializationException {

        this.router = router;
        this.datagramProcessor = datagramProcessor;

        try {

            // TODO: UPNP VIOLATION: The spec does not prohibit using the 1900 port here again, however, the
            // Netgear ReadyNAS miniDLNA implementation will no longer answer if it has to send search response
            // back via UDP unicast to port 1900... so we use an ephemeral port
            log.info("Creating bound socket (for datagram input/output) on: " + bindAddress);
            localAddress = new InetSocketAddress(bindAddress, 0);
            socket = new MulticastSocket(localAddress);
            socket.setTimeToLive(configuration.getTimeToLive());
            socket.setReceiveBufferSize(262144); // Keep a backlog of incoming datagrams if we are not fast enough
        } catch (Exception ex) {
            throw new InitializationException("Could not initialize " + getClass().getSimpleName() + ": " + ex);
        }
    }
 
开发者ID:offbye,项目名称:DroidDLNA,代码行数:20,代码来源:DatagramIOImpl.java


注:本文中的java.net.MulticastSocket类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。