Package org.jppf.comm.socket
Class SocketClient
java.lang.Object
org.jppf.comm.socket.AbstractSocketWrapper
org.jppf.comm.socket.SocketClient
- All Implemented Interfaces:
Closeable,AutoCloseable,SocketWrapper
This class provides a simple API to transfer objects over a TCP socket connection.
- Author:
- Laurent Cohen
-
Field Summary
Fields inherited from class org.jppf.comm.socket.AbstractSocketWrapper
dis, dos, host, opened, port, serializer, socket -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor is invisible to other classes.SocketClient(String host, int port) Initialize this socket client and connect it to the specified host on the specified port.SocketClient(String host, int port, ObjectSerializer serializer) Initialize this socket client and connect it to the specified host on the specified port.SocketClient(Socket socket) Initialize this socket client with an already opened and connected socket. -
Method Summary
Modifier and TypeMethodDescriptionGet an object serializer / deserializer to convert an object to or from an array of bytes.receive(int timeout) Read an object from a TCP socket connection.voidSend an object over a TCP socket connection.voidsetSerializer(ObjectSerializer serializer) Set the object serializer / deserializer to convert an object to or from an array of bytes.toString()Generate a string representation of this socket client.Methods inherited from class org.jppf.comm.socket.AbstractSocketWrapper
checkOpened, close, flush, getHost, getPort, getSocket, getSocketTimestamp, initStreams, isOpened, open, read, readInt, readPartial, receive, receiveBytes, sendBytes, setHost, setPort, setSocket, skip, updateSocketTimestamp, write, writeInt
-
Constructor Details
-
SocketClient
public SocketClient()Default constructor is invisible to other classes. -
SocketClient
Initialize this socket client and connect it to the specified host on the specified port.- Parameters:
host- the remote host this socket client connects to.port- the remote port on the host this socket client connects to.- Throws:
Exception- if there is an issue with the socket streams.
-
SocketClient
Initialize this socket client and connect it to the specified host on the specified port.- Parameters:
host- the remote host this socket client connects to.port- the remote port on the host this socket client connects to.serializer- the object serializer used by this socket client.- Throws:
Exception- if there is an issue with the socket streams.
-
SocketClient
Initialize this socket client with an already opened and connected socket.- Parameters:
socket- the underlying socket this socket client wraps around.- Throws:
JPPFException- if the socket connection fails.
-
-
Method Details
-
send
Send an object over a TCP socket connection.- Parameters:
o- the object to send.- Throws:
Exception- if the underlying output stream throws an exception.
-
receive
Read an object from a TCP socket connection. This method blocks until an object is received or the specified timeout has expired, whichever happens first.- Parameters:
timeout- timeout after which the operation is aborted. A timeout of zero is interpreted as an infinite timeout.- Returns:
- the object that was read from the underlying input stream or null if the operation timed out.
- Throws:
Exception- if the underlying input stream throws an exception.
-
getSerializer
Get an object serializer / deserializer to convert an object to or from an array of bytes.- Specified by:
getSerializerin interfaceSocketWrapper- Overrides:
getSerializerin classAbstractSocketWrapper- Returns:
- an
ObjectSerializerinstance. - See Also:
-
setSerializer
Set the object serializer / deserializer to convert an object to or from an array of bytes.- Specified by:
setSerializerin interfaceSocketWrapper- Overrides:
setSerializerin classAbstractSocketWrapper- Parameters:
serializer- anObjectSerializerinstance.
-
toString
Generate a string representation of this socket client.- Overrides:
toStringin classAbstractSocketWrapper- Returns:
- as string describing this object.
-