Mercurial > hg > Members > kono > WifiBroadcast
annotate src/wifibroadcast/WifiMulticast.java @ 6:248ae478dbe6
cleanup
author | one |
---|---|
date | Sat, 28 Jul 2012 19:53:35 +0900 |
parents | 9c99e2193277 |
children | 95d58cc5bb0b |
rev | line source |
---|---|
0
df9d16620c08
Wifi broad cast test program
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 package wifibroadcast; |
df9d16620c08
Wifi broad cast test program
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 |
df9d16620c08
Wifi broad cast test program
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 import java.io.IOException; |
df9d16620c08
Wifi broad cast test program
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 import java.nio.ByteBuffer; |
df9d16620c08
Wifi broad cast test program
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 |
3 | 6 import java.net.DatagramPacket; |
7 import java.net.InetAddress; | |
0
df9d16620c08
Wifi broad cast test program
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 import java.net.MulticastSocket; |
df9d16620c08
Wifi broad cast test program
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 |
3 | 10 public class WifiMulticast implements WifiReceiver { |
11 private MulticastSocket soc; | |
12 private InetAddress mAddr; | |
13 private int port; | |
14 | |
15 public WifiMulticast(String mCASTADDR, int port, SocketType sender) throws IOException { | |
16 this.port = port; | |
17 try { | |
18 mAddr = InetAddress.getByName(mCASTADDR); | |
19 soc = new MulticastSocket(port); | |
20 soc.joinGroup(mAddr); | |
21 } catch (IOException e) { | |
22 e.printStackTrace(); | |
0
df9d16620c08
Wifi broad cast test program
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 } |
df9d16620c08
Wifi broad cast test program
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 } |
df9d16620c08
Wifi broad cast test program
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 |
3 | 26 @Override |
27 public void recieve(ByteBuffer testData, long timeout) throws IOException { | |
28 DatagramPacket packet = new DatagramPacket(testData.array(),testData.capacity()); | |
29 soc.receive(packet); | |
30 testData.limit(packet.getLength()); | |
31 testData.position(0); | |
32 } | |
33 | |
34 @Override | |
35 public void send(ByteBuffer testData) throws IOException { | |
36 DatagramPacket sendPacket = new DatagramPacket(testData.array(), testData.limit(),mAddr, port); | |
37 soc.send(sendPacket); | |
38 testData.position(testData.limit()); | |
39 } | |
40 | |
41 } | |
42 |