1 package be
.nikiroo
.utils
.serial
.server
;
3 import java
.io
.IOException
;
4 import java
.net
.Socket
;
5 import java
.net
.UnknownHostException
;
7 import be
.nikiroo
.utils
.Version
;
10 * Class used for the client basic handling.
12 * It represents a single action: a client is expected to only execute one
17 public class ConnectActionClientObject
extends ConnectActionClient
{
19 * Create a new {@link ConnectActionClientObject} with the current
20 * application version (see {@link Version#getCurrentVersion()}) as the
24 * the socket to bind to
26 * an optional key to encrypt all the communications (if NULL,
27 * everything will be sent in clear text)
29 public ConnectActionClientObject(Socket s
, String key
) {
34 * Create a new {@link ConnectActionClientObject} with the current
35 * application version (see {@link Version#getCurrentVersion()}) as the
43 * an optional key to encrypt all the communications (if NULL,
44 * everything will be sent in clear text)
47 * in case of I/O error
48 * @throws UnknownHostException
49 * if the IP address of the host could not be determined
50 * @throws IllegalArgumentException
51 * if the port parameter is outside the specified range of valid
52 * port values, which is between 0 and 65535, inclusive
54 public ConnectActionClientObject(String host
, int port
, String key
)
56 super(host
, port
, key
);
60 * Create a new {@link ConnectActionClientObject}.
67 * an optional key to encrypt all the communications (if NULL,
68 * everything will be sent in clear text)
73 * in case of I/O error
74 * @throws UnknownHostException
75 * if the IP address of the host could not be determined
76 * @throws IllegalArgumentException
77 * if the port parameter is outside the specified range of valid
78 * port values, which is between 0 and 65535, inclusive
80 public ConnectActionClientObject(String host
, int port
, String key
,
81 Version version
) throws IOException
{
82 super(host
, port
, key
, version
);
86 * Create a new {@link ConnectActionClientObject}.
89 * the socket to bind to
93 * an optional key to encrypt all the communications (if NULL,
94 * everything will be sent in clear text)
96 public ConnectActionClientObject(Socket s
, String key
, Version version
) {
97 super(s
, key
, version
);
101 * Serialise and send the given object to the server (and return the
102 * deserialised answer).
107 * @return the answer, which can be NULL
109 * @throws IOException
110 * in case of I/O error
111 * @throws NoSuchFieldException
112 * if the serialised data contains information about a field
113 * which does actually not exist in the class we know of
114 * @throws NoSuchMethodException
115 * if a class described in the serialised data cannot be created
116 * because it is not compatible with this code
117 * @throws ClassNotFoundException
118 * if a class described in the serialised data cannot be found
120 public Object
send(Object data
) throws IOException
, NoSuchFieldException
,
121 NoSuchMethodException
, ClassNotFoundException
{
122 return action
.sendObject(data
);