com.distinct.rpc
Class ClientUDP
java.lang.Object
|
+--com.distinct.rpc.ClientGeneric
|
+--com.distinct.rpc.ClientUDP
- All Implemented Interfaces:
- java.io.Serializable
- public class ClientUDP
- extends ClientGeneric
Implementation of the RPC protocol via UDP.
- See Also:
ClientGeneric, Serialized Form
|
Constructor Summary |
ClientUDP(java.net.InetAddress host,
int prog,
int vers)
Creates a new UDP protocol object. |
ClientUDP(java.net.InetAddress host,
int prog,
int vers,
int port)
Creates a new UDP protocol object and connects it to a server with a known port. |
|
Method Summary |
void |
Call(int prog,
int vers,
int proc,
XDRType in,
XDRType out)
Calls the server. |
void |
close()
Closes the connection and frees the socket resource. |
void |
setResend(int milliseconds)
Changes the timeout value for retransmission of the request (UDP only, default is 5s). |
void |
setRetryTimeout(int timeout)
Changes the timeout value for retransmission of the request (default is 5s). |
void |
setTimeout(int timeout)
Changes the timeout value for waiting on server replies (default is 25s). |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ClientUDP
public ClientUDP(java.net.InetAddress host,
int prog,
int vers,
int port)
throws java.io.IOException
- Creates a new UDP protocol object and connects it to a server with a known port. (No interaction with a portmapper)
- Parameters:
host - The host on which the server lives. In an applet this must be the host where the applet comes from.prog - The program ID of the server as defined in the .x IDL file.vers - The program version of the server as defined in the .x IDL file.port - The port on which the server listens.- Throws:
java.io.IOException - When the socket could not be opened.
ClientUDP
public ClientUDP(java.net.InetAddress host,
int prog,
int vers)
throws RPCError,
java.io.IOException
- Creates a new UDP protocol object. Calls the portmapper to get the port information.
- Parameters:
host - The host on which the server lives. In an applet this must be the host where the applet comes from.prog - The program ID of the server as defined in the .x IDL file.vers - The program version of the server as defined in the .x IDL file.- Throws:
RPCError - When the port can not be found in the portmapper (perhaps there is even no portmapper running).java.io.IOException - When the socket could not be opened.
Call
public void Call(int prog,
int vers,
int proc,
XDRType in,
XDRType out)
throws RPCError,
java.io.IOException
- Calls the server.
- Overrides:
Call in class ClientGeneric
- Parameters:
prog - The program ID of the server as defined in the .x IDL file.vers - The program version of the server as defined in the .x IDL file.proc - The ID of the request function as defined in the .x IDL file.in - The input parameter (as it has to be marshalled it must be derived from XDRType).out - The output parameter (as it has to be marshalled it must be derived from XDRType).- Throws:
java.io.IOException - When the call fails because the socket connetion fails.RPCError - When the calls fails for any other reason.
close
public void close()
- Closes the connection and frees the socket resource.
- Overrides:
close in class ClientGeneric
setTimeout
public void setTimeout(int timeout)
- Changes the timeout value for waiting on server replies (default is 25s).
- Overrides:
setTimeout in class ClientGeneric
- Parameters:
timeout - The new timeout value in ms (0 means no timeout at all, -1 means immediate return).
setRetryTimeout
public void setRetryTimeout(int timeout)
- Changes the timeout value for retransmission of the request (default is 5s).
- Parameters:
timeout - The new timeout value.
setResend
public void setResend(int milliseconds)
- Changes the timeout value for retransmission of the request (UDP only, default is 5s).
- Overrides:
setResend in class ClientGeneric
- Parameters:
milliseconds - The new timeout value.