summaryrefslogtreecommitdiff
path: root/TAO/tests/GIOP_Fragments/Java_Big_Request/client.java
blob: b3d1dd3eafb1f23eb64c8ae73944aa7ba0d5b091 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// $Id$

// If this server is compiled and run with the JDK ORB, it will
// fragment the GIOP Messages sent when more_data() is called.

import java.io.FileReader;
import java.io.BufferedReader;
import org.omg.CORBA.*;
import org.omg.PortableServer.*;
import Test.Payload_Receiver;
import Test.Payload_ReceiverHelper;

public class client
{
  public static void main (String args[]) {
    try {
      ORB orb = ORB.init (args, null);

      // Get the object reference
      BufferedReader reader = new BufferedReader (
                                        new FileReader ("server.ior"));
      StringBuffer ior = new StringBuffer();
      String line = null;
      while ((line = reader.readLine()) != null) {
        ior.append(line);
      }

      org.omg.CORBA.Object obj = orb.string_to_object (ior.toString ());
      Payload_Receiver receiver = Payload_ReceiverHelper.narrow (obj);

      // Set up the payload
      byte [] seq = new byte [1000000];
      for (int i = 0; i < seq.length; ++i)
        seq [i] = 'A';

      // Invoke the method on the server
      for (int i = 0; i < 20; ++i)
        receiver.more_data (seq);

      receiver.shutdown ();
    }
    catch (Exception e) {
      System.err.println ("ERROR: " + e);
      e.printStackTrace (System.out);
    }
  }
}