4 import java.io.IOException;
\r
5 import java.net.UnknownHostException;
\r
6 import java.net.SocketException;
\r
7 import java.net.Socket;
\r
8 import java.net.InetAddress;
\r
9 import java.net.ServerSocket;
\r
10 import java.io.InputStream;
\r
11 import java.io.OutputStream;
\r
13 import iotruntime.slave.IoTDeviceAddress;
\r
15 /** Class IoTTCP is a wrapper class that provides
\r
16 * minimum interfaces for user to interact with IoT
\r
17 * devices in our system
\r
19 * @author Rahmadi Trimananda <rahmadi.trimananda @ uci.edu>
\r
23 public final class IoTTCP {
\r
26 * IoTTCP class properties
\r
28 private Socket socket;
\r
30 protected IoTTCP(Socket _socket) {
\r
37 public IoTTCP(IoTDeviceAddress iotDevAdd) throws UnknownHostException, IOException {
\r
39 String strHostAddress = iotDevAdd.getHostAddress();
\r
40 int iSrcPort = iotDevAdd.getSourcePortNumber();
\r
41 int iDstPort = iotDevAdd.getDestinationPortNumber();
\r
43 socket = new Socket(strHostAddress, iDstPort, InetAddress.getLocalHost(), iSrcPort);
\r
47 * getInputStream() method
\r
49 public InputStream getInputStream() throws UnknownHostException, IOException {
\r
51 return socket.getInputStream();
\r
55 * getOutputStream() method
\r
57 public OutputStream getOutputStream() throws UnknownHostException, IOException {
\r
59 return socket.getOutputStream();
\r
63 * setReuseAddress(boolean on) method
\r
65 public void setReuseAddress(boolean on) throws SocketException {
\r
67 socket.setReuseAddress(on);
\r
74 public void close() throws UnknownHostException, IOException {
\r