code: public static String call(String serverspec, String msg,
                    int timeout, PrintStream log)
      throws SoccomException
      {
      String host;
      int port;
      int k = serverspec.indexOf(':');
      if (k >= 0) {
          host = serverspec.substring(0,k);
          port = Integer.parseInt(serverspec.substring(k+1));
      } else {
          host = serverspec;
          port = 4001;
      }
      SoccomClient soccom = new SoccomClient(host, port, log);
      String reply;
      try {
          soccom.putreq(msg);
          reply = soccom.getresp(timeout);
          soccom.close();
      } catch (SoccomException e) {
          soccom.close();
          throw e;
      }
      return reply;
      }
docs: This method is a simple wrapper for synchronous invocation
  of server's service. It is roughly implemented  as:
  <pre>
  SoccomClient soccom = new SoccomClient(host,port,log);
  putreq(msg);
  return getresp();
  soccom.close();
  </pre>
  @param serverspec In the form of host:port. If ':' is missing, assume
  port is 4001
  @param msg The message to be sent.
  @param timeout Time out in seconds
  @param log For logging information
  @return The respose message.
  @exception SoccomException It passes up any exception encountered
  along the way.