类java.net.DatagramPacket源码实例Demo

下面列出了怎么用java.net.DatagramPacket的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: jblink   文件: Client.java
/**
    Sends a collection of messages to the server

    @param objs the messages to send
    @throws BlinkException if there is a schema or binding problem
    @throws IOException if there is a socket or communications problem
 */

 public void send (Iterable<?> objs) throws BlinkException, IOException
 {
    wr.write (objs);
    wr.flush ();

    if (udpsock != null)
    {
byte [] data = bs.toByteArray ();
bs.reset ();
DatagramPacket p =
   new DatagramPacket (data, data.length,
		udpsock.getRemoteSocketAddress ());
udpsock.send (p);
    }
 }
 
源代码2 项目: tomee   文件: MulticastDiscoveryAgent.java
@Override
public void run() {
    final byte[] buf = new byte[BUFF_SIZE];
    final DatagramPacket packet = new DatagramPacket(buf, 0, buf.length);
    while (running.get()) {
        tracker.checkServices();
        try {
            multicast.receive(packet);
            if (packet.getLength() > 0) {
                final String str = new String(packet.getData(), packet.getOffset(), packet.getLength());
                //                        System.out.println("read = " + str);
                tracker.processData(str);
            }
        } catch (SocketTimeoutException se) {
            // ignore
        } catch (IOException e) {
            if (running.get()) {
                LOGGER.error("failed to process packet: " + e);
            }
        }
    }
}
 
源代码3 项目: wildfly-core   文件: SimpleSyslogServer.java
@Override
public void run(){

    while (!closed.get()){
        try {
            DatagramPacket packet = new DatagramPacket(new byte[2048], 2048);
            socket.receive(packet);
            byte[] bytes = new byte[packet.getLength()];
            System.arraycopy(packet.getData(), 0, bytes, 0, packet.getLength());
            receivedData.add(bytes);
        } catch (IOException e) {
            if (!closed.get()){
                e.printStackTrace();
                close();
            }
        }
    }
}
 
源代码4 项目: jamod   文件: UDPSlaveTerminal.java
public void run() {
	do {
		try {
			// 1. Prepare buffer and receive package
			byte[] buffer = new byte[256];// max size
			DatagramPacket packet = new DatagramPacket(buffer,
					buffer.length);
			m_Socket.receive(packet);
			// 2. Extract TID and remember request
			Integer tid = new Integer(ModbusUtil.registersToInt(buffer));
			m_Requests.put(tid, packet);
			// 3. place the data buffer in the queue
			m_ReceiveQueue.put(buffer);
			if (Modbus.debug)
				System.out.println("Received package to queue.");
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	} while (m_Continue);
}
 
源代码5 项目: jdk8u60   文件: SnmpRequestHandler.java
/**
 * Full constructor
 */
public SnmpRequestHandler(SnmpAdaptorServer server, int id,
                          DatagramSocket s, DatagramPacket p,
                          SnmpMibTree tree, Vector<SnmpMibAgent> m,
                          InetAddressAcl a,
                          SnmpPduFactory factory,
                          SnmpUserDataFactory dataFactory,
                          MBeanServer f, ObjectName n)
{
    super(server, id, f, n);

    // Need a reference on SnmpAdaptorServer for getNext & getBulk,
    // in case of oid equality (mib overlapping).
    //
    adaptor = server;
    socket = s;
    packet = p;
    root= tree;
    mibs = new Vector<>(m);
    subs= new Hashtable<>(mibs.size());
    ipacl = a;
    pduFactory = factory ;
    userDataFactory = dataFactory ;
    //thread.start();
}
 
源代码6 项目: oodt   文件: DatagramLogger.java
public static void main(String[] argv) throws Throwable {
	if (argv.length > 0) {
		System.err.println("This program takes NO command line arguments.");
		System.err.println("Set the activity.port property to adjust the port number.");
		System.err.println("Set the activity.storage property to set the Storage class to use.");
		System.exit(1);
	}
	int port = Integer.getInteger("activity.port", VAL);
	String className = System.getProperty("activity.storage");
	if (className == null) {
		System.err.println("No Storage class defined via the `activity.storage' property; exiting...");
		System.exit(1);
	}
	Class storageClass = Class.forName(className);
	storage = (Storage) storageClass.newInstance();
	DatagramSocket socket = new DatagramSocket(port);
	byte[] buf = new byte[INT];
	DatagramPacket packet = new DatagramPacket(buf, buf.length);
	for (;;) {
		socket.receive(packet);
		byte[] received = new byte[packet.getLength()];
		System.arraycopy(packet.getData(), packet.getOffset(), received, 0, packet.getLength());
		new ReceiverThread(received).start();
	} 
}
 
源代码7 项目: openjdk-jdk8u   文件: DatagramSocketAdaptor.java
public void receive(DatagramPacket p) throws IOException {
    synchronized (dc.blockingLock()) {
        if (!dc.isBlocking())
            throw new IllegalBlockingModeException();
        try {
            synchronized (p) {
                ByteBuffer bb = ByteBuffer.wrap(p.getData(),
                                                p.getOffset(),
                                                p.getLength());
                SocketAddress sender = receive(bb);
                p.setSocketAddress(sender);
                p.setLength(bb.position() - p.getOffset());
            }
        } catch (IOException x) {
            Net.translateException(x);
        }
    }
}
 
源代码8 项目: openhab1-addons   文件: MilightBinding.java
protected void sendMessage(String messageBytes, String bridgeId) {

        String bridgeIp = bridgeIpConfig.get(bridgeId);
        Integer bridgePort = bridgePortConfig.get(bridgeId);

        if (bridgePort == null) {
            bridgePort = DEFAULT_PORT;
        }

        try {
            byte[] buffer = getMessageBytes(messageBytes);

            InetAddress IPAddress = InetAddress.getByName(bridgeIp);
            DatagramPacket packet = new DatagramPacket(buffer, buffer.length, IPAddress, bridgePort);
            DatagramSocket datagramSocket = new DatagramSocket();
            datagramSocket.send(packet);
            datagramSocket.close();
            logger.debug("Sent packet '{}' to bridge '{}' ({}:{})",
                    new Object[] { messageBytes, bridgeId, bridgeIp, bridgePort });
        } catch (Exception e) {
            logger.error("Failed to send Message to '{}': ", new Object[] { bridgeIp, e.getMessage() });
        }
    }
 
源代码9 项目: personaldnsfilter   文件: DNSServer.java
@Override
public void resolve(DatagramPacket request, DatagramPacket response) throws IOException {
    for (int i = 0; i<2; i++) { //retry once in case of EOFException (pooled connection was already closed)
        Connection con = Connection.connect(address, timeout, ssl, null, Proxy.NO_PROXY);
        con.setSoTimeout(timeout);
        try {
            DataInputStream in = new DataInputStream(con.getInputStream());
            DataOutputStream out = new DataOutputStream(con.getOutputStream());
            out.writeShort(request.getLength());
            out.write(request.getData(), request.getOffset(), request.getLength());
            out.flush();
            int size = in.readShort();
            readResponseFromStream(in, size, response);
            response.setSocketAddress(address);
            con.release(true);
            return;
        } catch (EOFException eof) {
            con.release(false);
            if (i == 1)
                throw new IOException ("EOF when reading from "+this.toString(),eof); // retried already once, now throw exception
        } catch (IOException eio) {
            con.release(false);
            throw eio;
        }
    }
}
 
源代码10 项目: seventh   文件: LANServerRegistration.java
/**
 * 
 */
public LANServerRegistration(final ServerContext serverContext) {
    
    final LANServerConfig config = serverContext.getConfig().getLANServerConfig();
    this.listener = new BroadcastListener(config.getMtu(), config.getBroadcastAddress(), config.getPort());
    this.listener.addOnMessageReceivedListener(new OnMessageReceivedListener() {
            
        @Override
        public void onMessage(DatagramPacket packet) {
            String msg = new String(packet.getData(), packet.getOffset(), packet.getLength()).trim();
            if(msg.equalsIgnoreCase("ping")) {
                try(Broadcaster caster = new Broadcaster(config.getMtu(), config.getBroadcastAddress(), config.getPort())) {
                    ServerInfo info = new ServerInfo(serverContext);
                    caster.broadcastMessage(info.toString());
                }
                catch(Exception e) {
                    Cons.println("*** ERROR: Unable to broadcast response: " + e);
                }
            }
        }
    });
    
}
 
源代码11 项目: Connect-SDK-Android-Core   文件: SSDPPacketTest.java
@Test
public void testParseLowercaseDatagram() {
    String testDatagramData =
            "NOTIFY * HTTP/1.1\r\n" +
            "host: 239.255.255.250:1900\r\n" +
            "nt: nt_value\r\n" +
            "Nts: ssdp:byebye\r\n" +
            "uSN: uuid:advertisement_UUID\r\n\r\n";
    mDatagramPacket = new DatagramPacket(testDatagramData.getBytes(), 0);
    ssdpPacket = new SSDPPacket(mDatagramPacket);
    Assert.assertEquals("NOTIFY * HTTP/1.1", ssdpPacket.getType());
    Assert.assertEquals("239.255.255.250:1900", ssdpPacket.getData().get("HOST"));
    Assert.assertEquals("nt_value", ssdpPacket.getData().get("NT"));
    Assert.assertEquals("ssdp:byebye", ssdpPacket.getData().get("NTS"));
    Assert.assertEquals("uuid:advertisement_UUID", ssdpPacket.getData().get("USN"));
}
 
源代码12 项目: sockslib   文件: Socks5DatagramPacketHandler.java
@Override
public DatagramPacket encapsulate(DatagramPacket packet, SocketAddress destination) throws
    SocksException {
  if (destination instanceof InetSocketAddress) {
    InetSocketAddress destinationAddress = (InetSocketAddress) destination;
    final byte[] data = packet.getData();
    final InetAddress remoteServerAddress = packet.getAddress();
    final byte[] addressBytes = remoteServerAddress.getAddress();
    final int ADDRESS_LENGTH = remoteServerAddress.getAddress().length;
    final int remoteServerPort = packet.getPort();
    byte[] buffer = new byte[6 + packet.getLength() + ADDRESS_LENGTH];

    buffer[0] = buffer[1] = 0; // reserved byte
    buffer[2] = 0; // fragment byte
    buffer[3] = (byte) (ADDRESS_LENGTH == 4 ? AddressType.IPV4 : AddressType.IPV6);
    System.arraycopy(addressBytes, 0, buffer, 4, ADDRESS_LENGTH);
    buffer[4 + ADDRESS_LENGTH] = SocksUtil.getFirstByteFromInt(remoteServerPort);
    buffer[5 + ADDRESS_LENGTH] = SocksUtil.getSecondByteFromInt(remoteServerPort);
    System.arraycopy(data, 0, buffer, 6 + ADDRESS_LENGTH, packet.getLength());
    return new DatagramPacket(buffer, buffer.length, destinationAddress.getAddress(),
        destinationAddress.getPort());
  } else {
    throw new IllegalArgumentException("Only support java.net.InetSocketAddress");
  }
}
 
源代码13 项目: TencentKona-8   文件: SnmpAdaptorServer.java
/**
 * Send the specified message on trapSocket.
 */
private void sendTrapMessage(SnmpMessage msg)
    throws IOException, SnmpTooBigException {

    byte[] buffer = new byte[bufferSize] ;
    DatagramPacket packet = new DatagramPacket(buffer, buffer.length) ;
    int encodingLength = msg.encodeMessage(buffer) ;
    packet.setLength(encodingLength) ;
    packet.setAddress(msg.address) ;
    packet.setPort(msg.port) ;
    if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
        SNMP_ADAPTOR_LOGGER.logp(Level.FINER, dbgTag,
            "sendTrapMessage", "sending trap to " + msg.address + ":" +
              msg.port);
    }
    trapSocket.send(packet) ;
    if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
        SNMP_ADAPTOR_LOGGER.logp(Level.FINER, dbgTag,
            "sendTrapMessage", "sent to " + msg.address + ":" +
              msg.port);
    }
    snmpOutTraps++;
    snmpOutPkts++;
}
 
源代码14 项目: WirelessHid   文件: WirelessHidService.java
private void sendDisconnectMsg() {
    new Thread(new Runnable() {
        @Override
        public void run() {
            if (mMulticastSocket != null) {
                DatagramPacket packet = new DatagramPacket(Constant.HID_SERVICE_DISCONNECT.getBytes(),
                        Constant.HID_SERVICE_DISCONNECT.length(),
                        group, Constant.HID_MULTICAST_PORT);
                try {
                    mMulticastSocket.send(packet);
                } catch (IOException e) {
                    e.printStackTrace();
                }

                mPCDiscoverer.stopDiscover();
            }
        }
    }).start();
}
 
源代码15 项目: modbus4j   文件: UdpMaster.java
private IpMessageResponse receiveImpl() throws IOException, ModbusTransportException {
    DatagramPacket packet = new DatagramPacket(new byte[MESSAGE_LENGTH], MESSAGE_LENGTH);
    socket.receive(packet);

    // We could verify that the packet was received from the same address to which the request was sent,
    // but let's not bother with that yet.

    ByteQueue queue = new ByteQueue(packet.getData(), 0, packet.getLength());
    IpMessageResponse response;
    try {
        response = (IpMessageResponse) messageParser.parseMessage(queue);
    }
    catch (Exception e) {
        throw new ModbusTransportException(e);
    }

    if (response == null)
        throw new ModbusTransportException("Invalid response received");

    return response;
}
 
源代码16 项目: LocalNetwork   文件: DiscoveryThread.java
@Override
public void run() {
    try {
        int port = NetworkUtil.BASE_PORT;
        do {
            socket = new DatagramSocket(port, InetAddress.getByName("0.0.0.0"));
            port--;
        } while (socket == null);

        socket.setBroadcast(true);

        while (true) {
            // Receive broadcast packet
            byte[] buffer = new byte[15000];
            DatagramPacket receivePacket = new DatagramPacket(buffer, buffer.length);
            socket.receive(receivePacket);
            Log.d("USER", "Received packet from: " + receivePacket.getAddress().getHostAddress());

            // Send reply
            byte[] replyPacket = SerializationUtil.serialize(reply);
            socket.send(new DatagramPacket(replyPacket, replyPacket.length, receivePacket.getAddress(), receivePacket.getPort()));
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}
 
源代码17 项目: jdk8u-jdk   文件: SnmpAdaptorServer.java
/**
 * Send the specified message on trapSocket.
 */
private void sendTrapMessage(SnmpMessage msg)
    throws IOException, SnmpTooBigException {

    byte[] buffer = new byte[bufferSize] ;
    DatagramPacket packet = new DatagramPacket(buffer, buffer.length) ;
    int encodingLength = msg.encodeMessage(buffer) ;
    packet.setLength(encodingLength) ;
    packet.setAddress(msg.address) ;
    packet.setPort(msg.port) ;
    if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
        SNMP_ADAPTOR_LOGGER.logp(Level.FINER, dbgTag,
            "sendTrapMessage", "sending trap to " + msg.address + ":" +
              msg.port);
    }
    trapSocket.send(packet) ;
    if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
        SNMP_ADAPTOR_LOGGER.logp(Level.FINER, dbgTag,
            "sendTrapMessage", "sent to " + msg.address + ":" +
              msg.port);
    }
    snmpOutTraps++;
    snmpOutPkts++;
}
 
源代码18 项目: sockslib   文件: UDPRelayServer.java
@Override
public void run() {
  try {
    byte[] buffer = new byte[bufferSize];
    while (running) {
      DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
      server.receive(packet);
      if (isFromClient(packet)) {
        datagramPacketHandler.decapsulate(packet);
        server.send(packet);
      } else {
        packet =
            datagramPacketHandler.encapsulate(packet, new InetSocketAddress(clientAddress,
                clientPort));
        server.send(packet);
      }
    }
  } catch (IOException e) {
    if (e.getMessage().equalsIgnoreCase("Socket closed") && !running) {
      logger.debug("UDP relay server stopped");
    } else {
      logger.error(e.getMessage(), e);
    }
  }
}
 
源代码19 项目: jamod   文件: UDPSlaveTerminal.java
public void run() {
	do {
		try {
			// 1. pickup the message and corresponding request
			byte[] message = (byte[]) m_SendQueue.take();
			DatagramPacket req = (DatagramPacket) m_Requests
					.remove(new Integer(ModbusUtil
							.registersToInt(message)));
			// 2. create new Package with corresponding address and port
			DatagramPacket res = new DatagramPacket(message,
					message.length, req.getAddress(), req.getPort());
			m_Socket.send(res);
			if (Modbus.debug)
				System.out.println("Sent package from queue.");
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	} while (m_Continue || !m_SendQueue.isEmpty());
}
 
源代码20 项目: dubbox   文件: MulticastExchangeGroup.java
private void send(String msg) throws RemotingException {
    DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(), mutilcastAddress, mutilcastSocket.getLocalPort());
    try {
        mutilcastSocket.send(hi);
    } catch (IOException e) {
        throw new IllegalStateException(e.getMessage(), e);
    }
}
 
源代码21 项目: dubbox   文件: MulticastGroup.java
private void send(String msg) throws RemotingException {
    DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(), mutilcastAddress, mutilcastSocket.getLocalPort());
    try {
        mutilcastSocket.send(hi);
    } catch (IOException e) {
        throw new IllegalStateException(e.getMessage(), e);
    }
}
 
源代码22 项目: AirMapSDK-Android   文件: TelemetryService.java
private void send(List<MessageLite> messageList) {
    try {
        byte[] message = buildPacketData(comm.getKey(), flightId, Encryption.AES256CBC, messageList);
        DatagramPacket packet = new DatagramPacket(message, message.length);
        socket.send(packet);
        packetNumber++;
    } catch (IOException | NoSuchAlgorithmException | InvalidKeyException | InvalidAlgorithmParameterException | NoSuchPaddingException | IllegalBlockSizeException | BadPaddingException e) {
        Timber.e(e, "Unable to build or send packet");
    }
}
 
源代码23 项目: freeacs   文件: BindingLifetimeTest.java
private boolean bindingCommunicationInitialSocket()
    throws UtilityException, IOException, MessageHeaderParsingException,
        MessageAttributeParsingException {
  MessageHeader sendMH = new MessageHeader(MessageHeader.MessageHeaderType.BindingRequest);
  sendMH.generateTransactionID();
  ChangeRequest changeRequest = new ChangeRequest();
  sendMH.addMessageAttribute(changeRequest);
  byte[] data = sendMH.getBytes();

  DatagramPacket send =
      new DatagramPacket(data, data.length, InetAddress.getByName(stunServer), port);
  initialSocket.send(send);
  LOGGER.debug("Binding Request sent.");

  MessageHeader receiveMH = new MessageHeader();
  while (!receiveMH.equalTransactionID(sendMH)) {
    DatagramPacket receive = new DatagramPacket(new byte[200], 200);
    initialSocket.receive(receive);
    receiveMH = MessageHeader.parseHeader(receive.getData());
    receiveMH.parseAttributes(receive.getData());
  }
  ma =
      (MappedAddress)
          receiveMH.getMessageAttribute(MessageAttribute.MessageAttributeType.MappedAddress);
  ErrorCode ec =
      (ErrorCode) receiveMH.getMessageAttribute(MessageAttribute.MessageAttributeType.ErrorCode);
  if (ec != null) {
    LOGGER.debug("Message header contains an Errorcode message attribute.");
    return true;
  }
  if (ma == null) {
    LOGGER.debug("Response does not contain a Mapped Address message attribute.");
    return true;
  }
  return false;
}
 
源代码24 项目: openjdk-jdk8u-backup   文件: CheckBoundaries.java
public static void main(String[] args) {
    boolean exception = false;
    try {
        final int offset = Integer.MAX_VALUE;
        final int length = 1;
        new DatagramPacket(new byte[1024], offset, length);
    } catch (IllegalArgumentException e) {
        exception = true;
    }
    if (!exception)
        throw new RuntimeException("IllegalArgumentException not thrown!");
}
 
源代码25 项目: seventh   文件: NetworkDisruptor.java
public void run() throws Exception {
    if(this.isRunning.get()) {
        return;
    }
    
    this.isRunning.set(true);
    
    this.proxySocket = DatagramChannel.open();
    this.proxySocket.configureBlocking(false);
    
    this.proxySocket.bind(new InetSocketAddress("localhost", this.proxyPort));
    
    System.out.println("Proxy server started on " + this.proxySocket.getLocalAddress());
    
    while(this.isRunning.get()) {
        this.recvBuffer.clear();
        
        SocketAddress remoteAddr = this.proxySocket.receive(this.recvBuffer);
        if(remoteAddr != null) {
            System.out.println("Received message from: " + remoteAddr);
            
            this.recvBuffer.flip();
        
            byte[] buf = copy(this.recvBuffer);
            DatagramPacket packet = new DatagramPacket(buf, buf.length, remoteAddr);
            Packet p = new Packet(packet);
            
            if(this.proxiedServerAddress.equals(remoteAddr)) {
                this.pendingServerSendPackets.add(p);
            }
            else {
                this.proxiedClientAddress = remoteAddr;
                this.pendingClientSendPackets.add(p);
            }            
        }
        
        sendPackets(this.pendingServerSendPackets, this.proxiedClientAddress);
        sendPackets(this.pendingClientSendPackets, this.proxiedServerAddress);
    }
}
 
源代码26 项目: finalspeed-91yun   文件: CloseMessage_Stream.java
public CloseMessage_Stream(DatagramPacket dp){
	this.dp=dp;
	dpData=dp.getData();
	ver=ByteShortConvert.toShort(dpData, 0);
	sType=ByteShortConvert.toShort(dpData, 2);
	
	connectId=ByteIntConvert.toInt(dpData, 4);
	clientId=ByteIntConvert.toInt(dpData, 8);
	closeOffset=ByteIntConvert.toInt(dpData, 12);
	////#MLog.println("vCloseMessagebbb"+clientId+"v");
}
 
源代码27 项目: swift-k   文件: NTPClient.java
/**
 * queries the NTP serevr and calculates the time difference.
 *
 */
public void update() throws IOException {

	// reset the data to erase previous result
	NTPData[0] = 0x1B;
	for (int i = 1; i < 48; i++) {
		NTPData[i] = 0;
	}

	InetAddress IPAddress = InetAddress.getByName(server);
	DatagramSocket NTPSocket = new DatagramSocket();
	DatagramPacket NTPPacket = new DatagramPacket(NTPData, NTPData.length, IPAddress, NTPPort);

	long startTime = System.currentTimeMillis();
	transmitTime = startTime + dT1900to1970;
	toBytes(transmitTime, transmitOffset);

	NTPSocket.send(NTPPacket);
	NTPSocket.receive(NTPPacket);

	destinationTimestamp = System.currentTimeMillis();
	destinationTimestamp += dT1900to1970;

	NTPData = NTPPacket.getData(); //get NTP data from the buffer
	convert();
	NTPSocket.close(); //close connection with NTP server 
}
 
源代码28 项目: pinpoint   文件: PacketUtilsTest.java
@Test
public void testSliceData3() throws Exception {
    DatagramPacket packet = createPacket(10);
    Arrays.fill(packet.getData(), 1, 8, (byte)'a');
    packet.setLength(4);

    byte[] bytes1 = PacketUtils.sliceData(packet, 0);
    Assert.assertArrayEquals(bytes1, Arrays.copyOf(packet.getData(), 4));
}
 
源代码29 项目: openhab1-addons   文件: WolBinding.java
private void sendWolPacket(WolBindingConfig config) {

        if (config == null) {
            logger.error("given parameter 'config' must not be null");
            return;
        }

        InetAddress address = config.address;
        byte[] macBytes = config.macBytes;

        try {

            byte[] bytes = fillMagicBytes(macBytes);

            DatagramPacket packet = new DatagramPacket(bytes, bytes.length, address, PORT);

            DatagramSocket socket = new DatagramSocket();
            socket.send(packet);
            socket.close();

            logger.info("Wake-on-LAN packet sent [broadcastIp={}, macaddress={}]", address.getHostName(),
                    String.valueOf(Hex.encodeHex(macBytes)));
        } catch (Exception e) {
            logger.error("Failed to send Wake-on-LAN packet [broadcastIp=" + address.getHostAddress() + ", macaddress="
                    + String.valueOf(Hex.encodeHex(macBytes)) + "]", e);
        }

    }
 
源代码30 项目: ict   文件: Receiver.java
@Override
public void run() {
    while (isRunning()) {
        DatagramPacket packet = new DatagramPacket(new byte[Constants.PACKET_SIZE_BYTES], Constants.PACKET_SIZE_BYTES);
        try {
            node.socket.receive(packet);
            processIncoming(packet);
        } catch (IOException e) {
            if (isRunning())
                e.printStackTrace();
        }
    }
}
 
 类所在包
 同包方法