1
2 package org.neo.swarm.util.network.jrms;
3
4 import java.net.InetAddress;
5
6 import junit.framework.TestCase;
7
8 import org.neo.swarm.util.network.jxta.JXReciever;
9 import org.neo.swarm.util.network.jxta.JXSender;
10 import org.neo.swarm.util.network.multicast.MulticastReader;
11 import org.neo.swarm.util.network.multicast.MulticastSender;
12 import org.neo.swarm.util.network.multicast.Receiver;
13 import org.neo.swarm.util.network.multicast.Sender;
14
15
16 /***
17 *
18 * @author navery
19 */
20 public class JRMSTest extends TestCase {
21 private static String PAD = "BytePaddingMessageThatDoesStuffXXXXYYYZZZAABBCCAADDEEFFQQWWEERRTTYY";
22
23 public void testSendAndReceive() throws Exception {
24
25 Sender sender = new JRMSSender(InetAddress.getByName("225.0.0.1"), 5000);
26 Receiver receiver = new JRMSReceiver(InetAddress.getByName("225.0.0.1"), 5000);
27
28 String expectedMessage = "JRMS-Blah!";
29 sender.send(expectedMessage.getBytes());
30 byte[] result = receiver.read();
31 System.out.println(new String(result));
32 assertEquals(expectedMessage, new String(result));
33 }
34
35 /***
36 * Max msg size is 1K !!
37 */
38 public void testLargePackets() throws Exception {
39 Sender sender = new JRMSSender(InetAddress.getByName("225.0.0.1"), 5000);
40 Receiver receiver = new JRMSReceiver(InetAddress.getByName("225.0.0.1"), 5000);
41
42 byte[] data = makeMessage(1 * 1024);
43 for (int i = 0; i < 100; i++){
44 sender.send(data);
45 receiver.read();
46 System.out.println(i);
47 }
48 }
49
50 private byte[] makeMessage(int size) throws Exception {
51 byte[] sendMessage = new byte[size];
52
53 byte[] padding = PAD.getBytes();
54
55
56 int pos = 0;
57 while (pos < size) {
58 sendMessage[pos] = padding[pos++ % padding.length];
59 }
60 return sendMessage;
61 }
62
63 }