Mercurial > hg > Members > kono > WifiBroadcast
view src/main/java/jp/ac/uryukyu/ie/kono/wifibroadcast/WifiMulticast.java @ 27:12633f67f3cf default tip
jar
author | oshiro |
---|---|
date | Wed, 28 Nov 2018 18:28:39 +0900 |
parents | src/main/jp/ac/uryukyu/ie/kono/wifibroadcast/WifiMulticast.java@42ecbd9364fa |
children |
line wrap: on
line source
package jp.ac.uryukyu.ie.kono.wifibroadcast; import java.io.IOException; import java.nio.ByteBuffer; import java.net.DatagramPacket; import java.net.InetAddress; import java.net.MulticastSocket; public class WifiMulticast implements WifiReceiver { private MulticastSocket soc; private InetAddress mAddr; private int port; public WifiMulticast(int id, String mCASTADDR, int port, SocketType sender) throws IOException { this.port = port; try { mAddr = InetAddress.getByName(mCASTADDR); soc = new MulticastSocket(port); soc.joinGroup(mAddr); } catch (IOException e) { e.printStackTrace(); } } @Override public void recieve(ByteBuffer testData, long timeout) throws IOException { DatagramPacket packet = new DatagramPacket(testData.array(),testData.capacity()); soc.receive(packet); testData.limit(packet.getLength()); testData.position(0); } @Override public void send(ByteBuffer testData) throws IOException { DatagramPacket sendPacket = new DatagramPacket(testData.array(), testData.limit(),mAddr, port); soc.send(sendPacket); testData.position(testData.limit()); } @Override public void selectMode(boolean mode) { } }