Files
2022-12-13 12:44:04 +01:00

128 lines
2.9 KiB
Java

import java.io.*;
import java.util.*;
import java.net.*;
import rsvcClient;
import rsvcEventHandler;
import rsvcConfig;
public final class rsvcServerTest implements rsvcEventHandler
{
public rsvcServerTest ()
{
// empty
}
public static void main (String[] args)
{
if (args.length < 4) {
System.err.println ("Usage: rsvcServerTest name domain host port");
System.exit (-1);
}
rsvcServerTest test = new rsvcServerTest ();
String host = args[2];
int port = Integer.valueOf (args[3]).intValue();
int udpport = port + 1024;
String server = args[0];
String domain = args[1];
rsvcData serverinfo = new rsvcData ();
rsvcData udpinfo = new rsvcData ();
serverinfo.insert ("name", server);
serverinfo.insert ("domain", domain);
serverinfo.insert ("host", host);
serverinfo.insert ("owner", "chen");
serverinfo.insert ("time", (int)(System.currentTimeMillis()/1000));
serverinfo.insert ("port", (int)(System.currentTimeMillis()%65535));
serverinfo.insert ("pid", (int)1234);
udpinfo.insert ("name", server);
udpinfo.insert ("domain", domain);
rsvcClient client = new rsvcClient ();
rsvcUdpClient udpclient = new rsvcUdpClient();
try {
client.connect (host, port);
}catch (UnknownHostException ue) {
System.err.println (ue);
System.exit (-1);
}catch (IOException e) {
System.err.println (e);
System.exit (-1);
}
try {
udpclient.connect (host, udpport);
}catch (UnknownHostException ue) {
System.err.println (ue);
System.exit (-1);
}catch (IOException e) {
System.err.println (e);
System.exit (-1);
}
// outbound event stream
rsvcEvent oevent = null;
try {
oevent = client.insertValue ("cdevServers", serverinfo,
test, true);
}catch (IOException e) {
System.err.println (e);
System.exit (-1);
}
Thread readerThread = client.getReaderThread ();
while (true) {
try {
udpclient.update (udpinfo);
} catch (IOException e) {
System.err.println (e);
System.exit (-1);
}
// wait for 5 seconds
try {
readerThread.join (5000);
} catch (InterruptedException e) {
System.err.println (e);
System.exit (-1);
}
}
}
public void handleEvent (rsvcEvent event)
{
int status = event.getStatus ();
int opcode = event.getOpcode ();
rsvcData data = event.getData ();
System.out.println ("Handle event is called with status :" + String.valueOf (status));
switch (opcode) {
case rsvcConfig.RSVC_GET:
System.out.println ("Get Value with result :");
break;
case rsvcConfig.RSVC_QUERY:
System.out.println ("Query Value with result :");
break;
case rsvcConfig.RSVC_SET:
System.out.println ("Set Value with result :");
break;
default:
System.out.println ("Operation : " + String.valueOf (opcode));
}
if (status == rsvcConfig.RSVC_NOTFOUND)
System.out.println ("Found nothing");
if (status == rsvcConfig.RSVC_SUCCESS)
data.asciiDump ();
}
}